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

yipeiwu_com6年前Python基础

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设计】。

相关文章

MySQL最常见的操作语句小结

以下是我这几天一直在用的几个命令,先记下来,以后会整理一份mysql详细的使用文档 注:[]中代表名字,需要用库名或者表名替换 显示所有的库: show databases;...

Python 实现网页自动截图的示例讲解

Python 实现网页自动截图的示例讲解

背景介绍 最近在为部门编写一个自动化测试工具,工具涉及到一个功能,即 将自动化测试生成的html报告截图,作为邮件正文,html文件上传到web服务器以链接形式添加到邮件中,最后发送邮件...

Python3实现发送QQ邮件功能(附件)

本文实例为大家分享了Python3实现发送QQ邮件功能:附件,供大家参考,具体内容如下 可以成功发送邮件附件,但是邮件主要内容无法发送,有空再去找找原因 import smtplib...

在Python的Django框架的视图中使用Session的方法

SessionMiddleware 激活后,每个传给视图(view)函数的第一个参数``HttpRequest`` 对象都有一个 session 属性,这是一个字典型的对象。 你可以象用...

利用Python进行数据可视化常见的9种方法!超实用!

利用Python进行数据可视化常见的9种方法!超实用!

前言 如同艺术家们用绘画让人们更贴切的感知世界,数据可视化也能让人们更直观的传递数据所要表达的信息。 我们今天就分享一下如何用 Python 简单便捷的完成数据可视化。 其实利用 Pyt...