如何使用 tshark 发送多个 TCP 数据包并仅捕获这些数据包?

网络工程 tcp 线鲨 包分析 iperf iperf3
2022-02-07 23:20:54

我正在使用 iperf3 使用以下命令发送 1005 个 TCP 数据包:

iperf3 -s -i 1 -f m -p 5200 -D

iperf3 -c 10.60.0.113 -k 1005 -bitrate 0 --reverse --omit 2 -p 5200

在服务器,客户端分别。

客户端命令的输出是:

Connecting to host 10.60.0.113, port 5200 Reverse mode, remote host
10.60.0.113 is sending [  5] local 10.60.0.2 port 33929 connected to 10.60.0.113 port 5200 protocol: TCP  num_streams: 1  blksize: 131072  omit: 2  duration: 0  bytes

[ ID] Interval           Transfer     Bitrate 
[  5]   0.00-1.00   sec 64.4 MBytes   540 Mbits/sec                  (omitted) 
[  5]   1.00-2.00   sec  73.1 MBytes   613 Mbits/sec                  (omitted)

 iperf test finished. [  5]   0.00-0.40   sec  28.7 MBytes   607 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - - 
[ ID] Interval           Transfer     Bitrate         Retr 
[  5]   0.00-0.40   sec  32.5 MBytes 688 Mbits/sec    0             sender 
[  5]   0.00-0.40   sec  28.7 MBytes   607 Mbits/sec                  receiver

iperf 完成。

我在运行 iperf 命令之前开始使用 tshark 进行捕获并稍晚完成,但我使用的是捕获过滤器:

主机 10.60.0.2 和 tcp

在 pcap 文件中有 24418 个数据包。这些是捕获的完整统计信息:

第一个数据包时间:20-06-20 02:42:23 最后一个数据包时间:20-06-20 02:42:25 经过:00:00:02

数据包:24418 第一个和最后一个之间:2575.64 毫秒平均。每秒数据包数:9480.37 平均。数据包大小:7428 字节:181382938 字节每秒平均字节数:70422499.94

我也在客户端运行这个:

tcpdump -i 2 src 10.60.0.113

并获得大约 1300 个数据包

我不太了解发送的流量和捕获的流量之间的关系。希望大家多多指教!:)

1个回答

当您将捕获设置为“主机 10.60.0.2 和 tcp”时,您将获得主机为源或目标的所有 TCP 数据包。

这意味着您还将获得目标主机发送的所有 ACK 数据包。

可能,如果您通过 SSH 连接,您还将获得所有 SSH 流量。

您应该过滤 taffic 以更精确地捕获。

根据执行捕获的位置添加“and dst port 5200”或“and src port 5200”应该会产生更好的结果。