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

作者:ChenZhuYu 时间:2022-12-26 06:04:00 

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文件就好了

来源:https://blog.csdn.net/chenzhuyu/article/details/50544982

标签:PYTHON,Wireshark,PCAP
0
投稿

猜你喜欢

  • 基于Python编写一个刷题练习系统

    2022-10-01 13:28:34
  • XMLHTTP资料

    2008-09-05 17:20:00
  • python实战项目scrapy管道学习爬取在行高手数据

    2021-03-19 01:27:19
  • asp如何正确显示数据库里同时存在的GB码和BIG5编码?

    2010-06-28 18:26:00
  • python中的不可变数据类型与可变数据类型详解

    2022-12-27 21:56:24
  • 利用phpmyadmin设置mysql的权限方法

    2023-11-24 02:12:46
  • python实现字符串和字典的转换

    2023-03-02 02:57:18
  • Apache2 httpd.conf 中文版

    2023-10-28 04:19:38
  • python用socket实现协议TCP长连接框架

    2022-05-08 00:22:47
  • python异常触发及自定义异常类解析

    2023-05-02 18:17:01
  • Python3+Pycharm+PyQt5环境搭建步骤图文详解

    2023-12-17 06:55:01
  • Python基础之进程详解

    2023-07-10 23:58:43
  • 一文带你掌握Python中文词频统计

    2022-11-17 21:02:00
  • MySQL 5.0 数据库新特性的存储过程

    2007-10-24 19:45:00
  • python中arrow库用法大全

    2021-08-25 06:48:44
  • 基于python的Paxos算法实现

    2023-04-15 07:40:58
  • PHP crypt()函数的用法讲解

    2023-06-13 03:08:05
  • python的简单四则运算语法树可视化

    2023-08-16 09:22:37
  • asp如何删除数据库中的表或索引?

    2010-06-26 12:23:00
  • python实现12306登录并保存cookie的方法示例

    2021-08-05 18:37:55
  • asp之家 网络编程 m.aspxhome.com