需要从 PCAP 中提取数据,但只能获取对话的一侧

Need to extract data from PCAP, but get only one side of conversation

我已经捕获了两台计算机之间发送的数据,我可以在 WireShark 中正确地查看和分析流量。我通过将显示过滤器添加为“tcp.port == 5000”来排除冗余流量,它显示了来自另一台计算机端口 5000 的所有数据包,还显示了从我的端口传出到端口上另一台计算机的所有流量5000.

我现在只想提取所有这些数据包的数据,为此我使用带有以下命令行的 TShark:

tshark -2 -r pcapFile.pcapng -R "tcp.port == 5000" -T fields -e data > datafile.txt

但是,这只显示了地址为 5000(不是另一个方向)的数据包中的数据。我试过“tcp.srcport == 5000 || tcp.dstport == 5000”,但无济于事。如果我用 Wireshark 打开 pcapFile.pcapng,我会看到所有数据。

我需要如何调整命令行才能从两侧获取数据?

您可以试试这个(需要 Wireshark >= 2.4.0):

tshark -2 -r pcapFile.pcapng -R "tcp.port == 5000 and tcp.payload" -T fields -e tcp.payload > datafile.txt

您可以在 Wireshark 中找到字段名称,例如 tcp.payload,方法是 select 在 Packet Details 窗格中输入字段,这将在 Packet Bytes 窗格中突出显示相应的字节并显示该字段window.

底部状态栏中的名称

例如,当您select“数据包详细信息”窗格中的“TCP 负载(xxx 字节)” 字段时,状态栏显示,"此数据包的 TCP 负载 (tcp.payload),xxx 字节"。您需要使用的显示过滤器字段显示在括号中。