时间:2021-05-22
每次写博客都是源于纳闷,python解析pcap这么常用的例子网上竟然没有,全是一堆命令行执行的python,能用吗?玩呢?
pip安装scapy,然后解析pcap:
import scapyfrom scapy.all import *from scapy.utils import PcapReaderpackets=rdpcap("./test.pcap")for data in packets: if 'UDP' in data: s = repr(data) print(s) print(data['UDP'].sport) break打印s,是为了看到所有的字段:
<Ether dst=ff:ff:ff:ff:ff:ff src=30:fc:68:33:7a:e2 type=0x800 |<IP version=4 ihl=5 tos=0x0 len=143 id=37312 flags= frag=0 ttl=64 proto=udp chksum=0x644d src=192.168.1.1 dst=192.168.1.255 options=[] |<UDP sport=1024 dport=5001 len=123 chksum=0x3051 |<Raw load='\x01\x01\x0e\x00\xe1+\x83\xc7\xb2\x9f\x00e\x00\x00\x00\x06\x00\tTL-WR886N\x00\x0b\x00\x035.0\x00\x07\x00\x01\x01\x00\x05\x00\x1130-fc-68-33-7a-e2\x00\x08\x00\x0b192.168.1.1\x00\t\x00\ntplogin.cn\x00\n\x00\rTL-WR886N 5.0\x00\x0c\x00\x051.7.3' |>>>>然后就能用data['UDP'].sport打印udp的源端口了。
现在基本的字段都能看到了,如果还想看别的协议的字段,可以参考源码:
https://github.com/secdev/scapy/tree/master/scapy/layers
L2层在l2.python,ip,tcp等在inet.py中,例如tcp的一些字段名称在这:
以上这篇利用Python库Scapy解析pcap文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
思路利用scapy库,在这个库的基础下能够做很多的事情,python读取pcap包网上一找一大把将读取出来的pcap包改一个名字,然后写回,这不就OK了吗写回的
这是自己写的简单的解析pcap文件,方便读取pcap文件,大家参考使用吧复制代码代码如下:InputStreamis=DataParser.class.getC
BeautifulSoup是一个用来从HTML或XML文件中提取数据的Python库,它利用大家所喜欢的解析器提供了许多惯用方法用来对文档树进行导航、查找和修改
PYTHON首先要安装scapy模块PY3的安装scapy-python3,使用PIP安装就好了,注意,PY3无法使用pyinstaller打包文件,PY2正常
利用python代码生成一个随机的MAC地址,使用python网络编程时或可用上,如果使用scapy模块则可直接利用RandMAC()函数来生成MAC。pyth