如何使用Python最佳地嗅探网络数据包?
我从几个地方听说,最好的模块是一个叫做Scapy的模块,但不幸的是,它会导致我的python.exe崩溃。 我想这只是安装方式的问题,但许多其他人告诉我,它在Windows上的表现并不理想。(如果有人感兴趣,我正在运行Windows Vista,这可能会影响事情的进行)。
有没有更好的解决办法?
更新:
在阅读了回答并安装了PyPcap之后,我对其进行了一些尝试,并发现我之前尝试使用的Scapy也要求安装PyPcap,但是它是用于自己修改的版本。显然,正是这个修改过的PyPcap导致了问题,因为回答中提供的示例也会导致挂起。
我安装了来自Google网站的原始版本的PyPcap,Scapy开始正常工作了(虽然我没有尝试很多东西,但至少在我开始嗅探之后它没有崩溃)。我向Scapy开发人员提交了新的缺陷报告:http://trac.secdev.org/scapy/ticket/166,希望他们能采取一些措施。
无论如何,只是想让大家知道。