Wireshark 可以很好地使用如下过滤器从其他对等点提取发送到特定对等点的 bittorrent PIECE 消息,例如:
bittorrent.piece.data and ip.dst_host == 192.168.3.14 and ip.src_host == 192.168.3.15
我想要自动生成这块数据的转储,以便使用 Python 应用程序进行后期/内联处理,例如使用 matplotlib 绘制块吞吐量与时间的关系图。
有人可以告诉我实现这一目标的 tshark 命令行参数吗:
- 输入 pcap 文件是输入.pcap
- 期望输出是输出.txt包含数据包摘要信息,后跟十六进制数组形式的实际数据包字节
如上所述,我计划将 output.txt 导入到我的 Python 分析应用程序中,但还需要原始片段数据来在 Python 中重新组装片段以进行完整性检查。在我的例子中,这些片段是视频的一部分。我可以在 Python 中毫无问题地进行重新组装。
我所需要的只是时间偏移、片段索引和我已经验证过的原始片段数据可以从Wireshark > 导出对话框中选择数据包摘要和数据包字节数选项已启用上述过滤器。但我希望避免手动执行此导出操作,因为在接下来的几周和几个月中我必须进行许多捕获。
提前致谢。
答案1
看起来下面的内容可以帮助我实现我在自动化设施方面所追求的目标:
tshark -r 2-live.pcap -R 'bittorrent.piece.data and ip.dst_host == 192.168.3.15' -T fields -e frame.number -e frame.time -e frame.len -e ip.src_host -e bittorrent.piece.index -e bittorrent.piece.data -E separator=+
看来我可能不需要开发太多 Python 实用程序。例如,我可以使用以下命令获取每秒 BT 有效负载统计数据:
tshark -r 2-live.pcap -q -z io,stat,1,"bittorrent.piece.data and ip.dst_host == 192.168.3.15"
绘制这些数据图表将会非常容易