当scapy和pypcap有严重损失时,如何在python上嗅探所有数据包?

时间:2017-12-01 08:27:28

标签: python sockets scapy libpcap

我试图使用python在Win10上嗅探数据包。但是,我发现很多数据包实际上是被scapy丢弃的。

例如,我从ftp下载了2 MB的文件,wiresharks捕获了近2000个数据包,scapy只捕获了500个。

我尝试了pypcap,结果几乎相同,超过一半的数据包被丢弃,特别是在下载时。

是否有解决方案可以避免这种丢失并使scapy与wireshark执行相同,或者python上没有能够在短时间内缓冲大量数据包的库?

1 个答案:

答案 0 :(得分:1)

您可以让Scapy使用tcpdump(或Windows下的windump)为您嗅探数据包,例如:

for i = TotalRows to 1 i--
  if row(i) something then delete