Scapy sniff() 似乎没有捕获 TCP 数据包,只显示以太网帧

Scapy sniff() doesn't seem to capture TCP packets, only shows ethernet frames

我在同一个界面上有 tcpdump 和 scapy 运行 sniff()。有一个 scp 文件 t运行sfer 正在发生。

tcpdump:我看到带有 seq 和 acks 的 tcp 数据包。

scapy sniff() 返回列表:我在每个数据包摘要()中看到的都是 (MAC addr1 ) > (Mac addr 2) (0x800) / Raw。即使在数据包 .show() 中,我也只看到 link 层内容,其中包含“## [ Ethernet ] ##”、src 和 dst。

I 运行 超时为 30,所以我知道我会捕获一个空文本文件的 scp t运行sfer,所以我知道我的时间是正确的。

确实有 TCP 数据包通过,但其中 none 被检测到。 Scapy 有问题吗?

谢谢

可能存在阻止 Scapy 处理以太网负载的错误。

您可以尝试设置conf.debug_dissector = True来调试问题。

您还可以获得 Scapy 的当前开发版本(来自 repository),因为这可能是一个已经修复的错误(我们有一个类似于您在 Python 中看到的错误3 直到最近)。

如果更新到当前开发版本后问题依然存在,请report it!