(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)