Python Scapy sniff()不';t似乎无法捕获TCP数据包,仅显示以太网帧

Python Scapy sniff()不';t似乎无法捕获TCP数据包,仅显示以太网帧,python,networking,tcp,scapy,Python,Networking,Tcp,Scapy,我让tcpdump和scapy在同一个界面上运行sniff()。正在进行scp文件传输 tcpdump:我看到了带有seq和ack的tcp数据包 scapysniff()返回列表:我在每个数据包摘要()中看到的都是(MAC addr1)>(MAC addr2)(0x800)/Raw。即使在数据包.show()中,我看到的都是带有“##[以太网]##”、src和dst的链接层 我以30的超时时间运行了这个程序,因此我知道我将捕获一个空文本文件的scp传输,因此我知道我的计时正确 确实有TCP数据包

我让tcpdump和scapy在同一个界面上运行
sniff()
。正在进行scp文件传输

tcpdump:我看到了带有seq和ack的tcp数据包

scapy
sniff()
返回列表:我在每个数据包摘要()中看到的都是
(MAC addr1)>(MAC addr2)(0x800)/Raw
。即使在数据包
.show()
中,我看到的都是带有“##[以太网]##”、src和dst的链接层

我以30的超时时间运行了这个程序,因此我知道我将捕获一个空文本文件的scp传输,因此我知道我的计时正确

确实有TCP数据包在传输,但没有一个被检测到。斯卡皮有什么问题吗


谢谢

可能有一个bug阻止了Scapy处理以太网负载

您可以尝试设置
conf.debug\u dissector=True
来调试问题

您还可以从中获得Scapy的当前开发版本,因为这可能是一个已经修复的bug(直到最近,我们还发现了一个类似于python3的bug)


如果更新到当前开发版本后仍然存在错误,请

TCP封装在IP中,IP封装在以太网中。IP包是以太网帧的有效载荷,TCP段是IP包的有效载荷。您的解码深度不够。请报告
sniff()
pkt.show()的输出。我修复了它。你是对的。我只需要更新到最新版本,因为我的版本有问题。我在这里删除了一条旧评论,因为我也修复了它。