如何在python嗅出HTTP数据包?(How to sniff HTTP packets in p

2019-08-21 00:22发布

我想通过Python(version2.6嗅出在我的电脑中的所有HTTP数据包..这可能吗?我能做到这一点与Scapy的,或没有其他外部模块?

Answer 1:

Scrapy只是从网页或类似结构的文档中提取数据。

要实际读取网卡来的数据包的性能最好的选择很可能是使用具有Python绑定一个C / C ++ API。

例如Wireshark的有Python的API 。

Pcapy是使用libpcap的数据包捕获模块。

libpcap的是抓包库TCPDUMP书面和也Wireshark的使用。

另一种选择是尝试dpkt Python模块。 这里是一个很好的写了 。 下面是一个例子使用使用dpkt和PCAP嗅出HTTP报文。

编辑 :哎呀,我看错Scapy的。 由于根!

至于你提到的Scapy的是,还使用libpcap的另一个Python模块。 这个文件有嗅探的例子。

如果您有关于Python 2.7运行看看这个麻烦岗位 。



Answer 2:

https://github.com/KimiNewt/pyshark

Python包装的tshark

用法:

>>> capture = pyshark.LiveCapture(interface='eth0')
>>> capture.sniff(timeout=50)
>>> capture
<LiveCapture (5 packets)>
>>> capture[3]
<UDP/HTTP Packet>

for packet in capture.sniff_continuously(packet_count=5):
    print 'Just arrived:', packet


Answer 3:

pypcap, https://code.google.com/p/pypcap/简化的libpcap Python扩展模块的面向对象的-当前tcpdump.org版本,旧版本航运与一些BSD操作系统,和WinPcap的端口,用于Windows.This是Windows version.And如果您正在使用#nix中,只需安装PCAPdpkt模块。



文章来源: How to sniff HTTP packets in python?