使用PYTHON解析Wireshark的PCAP文件方法


Posted in Python onJuly 23, 2019

PYTHON首先要安装scapy模块

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解析Wireshark的PCAP文件方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python2.x版本中maketrans()方法的使用介绍
May 19 Python
Python unittest单元测试框架总结
Sep 08 Python
Python中xml和json格式相互转换操作示例
Dec 05 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
Jul 06 Python
python中matplotlib条件背景颜色的实现
Sep 02 Python
python字典setdefault方法和get方法使用实例
Dec 25 Python
Python使用configparser库读取配置文件
Feb 22 Python
Django models filter筛选条件详解
Mar 16 Python
python中entry用法讲解
Dec 04 Python
python中翻译功能translate模块实现方法
Dec 17 Python
Python绘制K线图之可视化神器pyecharts的使用
Mar 02 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
Mar 03 Python
Django 静态文件配置过程详解
Jul 23 #Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
Jul 23 #Python
pandas通过字典生成dataframe的方法步骤
Jul 23 #Python
Python基于OpenCV实现人脸检测并保存
Jul 23 #Python
python 读取修改pcap包的例子
Jul 23 #Python
Django 用户认证组件使用详解
Jul 23 #Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
Jul 23 #Python
You might like
用php来检测proxy
2006/10/09 PHP
PHP的FTP学习(四)
2006/10/09 PHP
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
2019/03/22 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
JavaScript 核心参考教程 内置对象
2009/10/13 Javascript
取选中的radio的值
2010/01/11 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
详解如何在Vue里建立长按指令
2018/08/20 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
json数据格式常见操作示例
2019/06/13 Javascript
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
Python单元测试框架unittest使用方法讲解
2015/04/13 Python
python实现class对象转换成json/字典的方法
2016/03/11 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
python解决js文件utf-8编码乱码问题(推荐)
2018/05/02 Python
对python中类的继承与方法重写介绍
2019/01/20 Python
对django 模型 unique together的示例讲解
2019/08/06 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
python性能测量工具cProfile使用解析
2019/09/26 Python
Python线程指南分享
2019/11/19 Python
简单了解python数组的基本操作
2019/11/26 Python
python基于opencv检测程序运行效率
2019/12/28 Python
Python logging模块写入中文出现乱码
2020/05/21 Python
python3列表删除大量重复元素remove()方法的问题详解
2021/01/04 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
公关关系专员的自我评价分享
2013/11/20 职场文书
家长对孩子的感言
2014/03/10 职场文书
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
Python读写yaml文件
2022/03/20 Python
SpringBoot深入分析讲解监听器模式下
2022/07/15 Java/Android