Tcp wireshark pcap文件的数据包丢失
我有两个来自发送方和接收方的wireshark pcap文件。我正在使用不同的协议(TCP、UDP、RTMP和RTSP)将实时视频从发送方传输到接收方。当网络断开时,有没有办法从两个pcap文件中获得数据包丢失 计算两个pcap文件之间的差异,您可以使用。它包含的工具可以完全满足您的需要Tcp wireshark pcap文件的数据包丢失,tcp,wireshark,pcap,packet-loss,Tcp,Wireshark,Pcap,Packet Loss,我有两个来自发送方和接收方的wireshark pcap文件。我正在使用不同的协议(TCP、UDP、RTMP和RTSP)将实时视频从发送方传输到接收方。当网络断开时,有没有办法从两个pcap文件中获得数据包丢失 计算两个pcap文件之间的差异,您可以使用。它包含的工具可以完全满足您的需要 它类似于tracediff pcapfile:sender.pcap.gz pcapfile:receiver.pcap.gz方法1:统计数据包 $ tshark -r file1.pcap -Tfields
它类似于
tracediff pcapfile:sender.pcap.gz pcapfile:receiver.pcap.gz
方法1:统计数据包
$ tshark -r file1.pcap -Tfields -e ip.src -e ip.dst -e tcp.srcport -e tcp.dstport > file1.txt
$ tshark -r file2.pcap -Tfields -e ip.src -e ip.dst -e tcp.srcport -e tcp.dstport > file2.txt
$ diff file1.txt file2.txt
0a1,2
> 172.16.0.67 172.16.0.97 22 56732
> 172.16.0.97 172.16.0.67 56732 22
如果您确定接收方没有从另一个发送方接收数据包,您可以简单地计算每个捕获文件中的数据包数量,以获得丢弃的数据包数量:
$ capinfos file1.pcap | grep "Number of packets:"
Number of packets: 12
$ capinfos file2.pcap | grep "Number of packets:"
Number of packets: 18
在这里,我有4个数据包的区别,因为文件2的捕获是在文件1之前开始的
方法2:比较文本转储
$ tshark -r file1.pcap -Tfields -e ip.src -e ip.dst -e tcp.srcport -e tcp.dstport > file1.txt
$ tshark -r file2.pcap -Tfields -e ip.src -e ip.dst -e tcp.srcport -e tcp.dstport > file2.txt
$ diff file1.txt file2.txt
0a1,2
> 172.16.0.67 172.16.0.97 22 56732
> 172.16.0.97 172.16.0.67 56732 22
在这里,我为每个包转储一些字段值,在我的例子中,这些值足够了。您可能需要转储不同的字段值。区分这两个文本文件会发现file2.pcap包含另外两个数据包
方法3:安装专用工具 如果您不反对安装新工具,有几种方法可以帮助您:
- Tracediff将打印两个捕获文件之间不同的每个数据包的详细信息。您可以使用以下方法提取不同/缺失文件的数量:
$ sudo apt install tracediff $ tracediff file1.pcap file2.pcap | grep "Capture: Packet Length:" | wc -l