我正在编写一个与网络一起使用的应用程序。为了执行一些测试,我需要重现前一天的流程。但同时不允许停止当前工作的监听器。我也无法重写现有程序以保存传入流。为了解决我的任务,我决定使用 tcpdump。
我使用以下命令在目标机器上运行 tcpdump:
tcpdump -w capture.cap -n "dst host host.domain.com and port 5555"
Run Code Online (Sandbox Code Playgroud)
当我用 tcpick 或 scapy 阅读 capture.cap 时。我可以看到所有超过 1472 字节的有用数据都被截断为长度为 1472。但在标头中它仍然写入数据包的原始长度。我可以判断,UDP 数据包拆分为多个,然后再次连接。但是 tcpdump 可能会过滤掉所有没有标头的包(应该只出现在第一个包中)
有没有办法转储完整的 UDP 包?