使用PYTHON解析Wireshark的PCAP文件
2016-01-19 21:17
946 查看
PYTHON首先要安装scapy模块
PY3的安装scapy-python3,使用PIP安装就好了,注意,PY3无法使用pyinstaller打包文件,PY2正常
PY2的安装scapy,比较麻烦
pcaps便是解析后的类似结构体的东西了
python解析数据包十分占用内存,建议先用tshark命令行预处理筛选一遍数据包再进行PYTHON处理
然后在处理Temp_pcap_File文件就好了
PY3的安装scapy-python3,使用PIP安装就好了,注意,PY3无法使用pyinstaller打包文件,PY2正常
PY2的安装scapy,比较麻烦
from scapy.all import * pcaps = rdpcap("file.pcap")
pcaps便是解析后的类似结构体的东西了
<pre name="code" class="python">packet=pcaps[0] #第1个数据包结构
packet.time#数据包时间戳
packet[Raw].load#PY3读取节点数据方法,packet[IP].src;packet[IP].dst
packet['Raw'].load#PY2读取节点数据方法,PY3也应该可以
lambda="lambda pcap:IP in pcap and UDP in pcap and pcap[IP].src=='192.168.1.1' and pcap[UDP].sport==80"
results=pcaps.filter(eval(lambda))#lambda是一种表达式,这里使用字符串,也可以不用eval,直接写表达式,然后返回经过筛选的数据包
python解析数据包十分占用内存,建议先用tshark命令行预处理筛选一遍数据包再进行PYTHON处理
cmd_filter="%s && ip.src==%s && ip.dst==%s && %s.srcport==%s && %s.port==%s"% \ (Node['proto'].lower(),Node['src'],Node['dst'],Node['proto'].lower(),Node['sport'],Node['proto'].lower(),Node['dport']) os.system('start /WAIT "" "%s\tshark" -r "%s" -R "%s" -w "%s"'%(Wireshark_path,pcap_filename,cmd_filter,Temp_pcap_File))
然后在处理Temp_pcap_File文件就好了
相关文章推荐
- 八大排序算法的Python实现
- 八大排序算法的Python实现
- CAS单点登录python客户端分析
- 使用PYTHONPATH来使用其他版本的Django来启动
- Python3.4 IP查询(api)
- python 中 五种字典(dict)的遍历方法,实验法比较性能。
- python random.shuffle(随机打乱列表等) 和 random.random
- python实现一个朴素贝叶斯分类器
- 初学python--参数传递方式
- ubuntu14.04LTS下编译安装Open Babel和python语言绑定
- Python【基础第一篇】
- 【python】获取三维图形的某个截面
- webvtt字幕转srt字幕的python程序(附改名程序)
- Python-map()函数格式化不规则输入
- python 实现布尔莎转换模型
- Python-用filter()删除1~100的素数和一些思考
- python 下载整个站点
- Python字典的json格式化处理
- python threading的学习
- Python批量将excel文件转化为txt