使用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 相关文章推荐
Python实现Const详解
Jan 27 Python
Python中的列表生成式与生成器学习教程
Mar 13 Python
简单谈谈Python流程控制语句
Dec 04 Python
基于Python函数的作用域规则和闭包(详解)
Nov 29 Python
wxpython实现图书管理系统
Mar 12 Python
mac PyCharm添加Python解释器及添加package路径的方法
Oct 29 Python
python批量修改文件夹及其子文件夹下的文件内容
Mar 15 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
Jun 23 Python
Python实现GIF图倒放
Jul 16 Python
Python爬虫设置ip代理过程解析
Jul 20 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
Nov 18 Python
利用Python函数实现一个万历表完整示例
Jan 23 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中如何定义和使用常量
2013/02/28 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
2016/06/13 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
jquery验证邮箱格式并显示提交按钮
2015/11/07 Javascript
jquery根据一个值来选中select下的option实例代码
2016/08/29 Javascript
基于JavaScript实现微信抢红包功能
2017/07/20 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
2017/08/04 Javascript
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
VueJS 组件参数名命名与组件属性转化问题
2018/12/03 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
2020/04/21 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
JS数组转字符串实现方法解析
2020/09/04 Javascript
vue使用过滤器格式化日期
2021/01/20 Vue.js
Python的Django框架中消息通知的计数器实现教程
2016/06/13 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
用python实现的线程池实例代码
2018/01/06 Python
Python 解决中文写入Excel时抛异常的问题
2018/05/03 Python
利用python和百度地图API实现数据地图标注的方法
2019/05/13 Python
python算法题 链表反转详解
2019/07/02 Python
python经典趣味24点游戏程序设计
2019/07/26 Python
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
幼儿园门卫制度
2014/01/29 职场文书
保护环境建议书
2014/03/12 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
服装设计师求职信
2014/06/04 职场文书
幼儿园运动会口号
2014/06/07 职场文书
委托书的写法
2014/09/16 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
领导新年致辞2016
2015/07/29 职场文书
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis