(2条消息) 利用pypcap、dpkt和pylibnet轻松实现网络捉包、网络包分析和网络包修改

最近利用python做一个网络捉包、包分析、包重写修改的程序。因为要修改捉到的TCP包、涉及修改链路层的包(以太网),用到了pylibnet库。

一、pypcap捉包并用dpkt组成对象。

pc = pcap.pcap('eth0', 65535, True, False)

pc.setfilter('tcp port 80'')

for ts, pkt in self.pc:
                Eth = dpkt.ethernet.Ethernet(pkt)        //在python环境下,利用dir和help可查看到dpkt的很多有用、详细的用法。

二、pylibnet修改低层网络包。

pylibnet提供了很多有用的接口来修改低层包,例如TCP、ethernet都可很容易修改。

注意:pylibnet2.0存在一个bug,在修改TCP的序列号时,不是默认的无符号整数,会导致溢出错误,pylibnet3.0没这问题。

(0)

相关推荐