我正在学习如何使用 tshark,以便更好地理解网络。作为用户,我每天最常使用的协议是 SSH。所以我想我会在服务器上启动一个 ssh 数据包捕获过滤器,看看会发生什么。我运行了以下命令
sudo tshark -f "tcp port 22"
然后它开始监听第一个可用接口。我什么也没看到,所以我打开另一个终端屏幕并 ssh 到我的盒子。当我连接时,开始捕获大量数据包,所有数十万个数据包都如下所示:
751253 17.666088 134.173.60.192 -> 134.173.63.11 TCP 66 53596 > ssh [ACK] 序列号=44101 确认=83725993
Win=1356 Len=0 TSval=739170816 TSecr=8520295
751254 17.666092 x.x.x.x -> y.y.y.y TCP 66 53596 > ssh [ACK] Seq=44101 Ack=83726173 Win=1351 Len=0 TSval=739170816 TSecr=8520295
751255 17.666094 x.x.x.x -> y.y.y.y TCP 66 53596 > ssh [ACK] Seq=44101 Ack=83726209 Win=1350 Len=0 TSval=739170816 TSecr=8520295
751256 17.666096 x.x.x.x -> y.y.y.y TCP 66 53596 > ssh [ACK] Seq=44101 Ack=83726389 Win=1344 Len=0 TSval=739170816 TSecr=8520295
751257 17.666098 x.x.x.x -> y.y.y.y TCP 66 53596 > ssh [ACK] Seq=44101 Ack=83726521 Win=1340 Len=0 TSval=739170816 TSecr=8520295
751258 17.666098 x.x.x.x -> y.y.y.y SSH 198 Encrypted response packet len=132
所以我的问题是,这是预料之中的吗?tshark 在大约 5 秒内从单个 ssh 连接捕获 100,000 个数据包是正常的吗?
传入 ssh 数据包的速率似乎呈线性增长,因此一开始它每秒只能捕获 500 个数据包,但大约 5 秒后,它每秒捕获 100,000 个数据包。
答案1
您可能创建了一个循环。
捕获的数据包 -> 输出到 shell -> 从该输出生成的数据包 -> 返回数据包捕获
静默输出到文件(原始)或
tshark -q -f "tcp port 22" -w test.raw
通过重定向输出将其显示为文本。
tshark -f "tcp port 22" > test.txt