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

 更新时间:2019年07月23日 11:06:26   作者:ChenZhuYu  
今天小编就为大家分享一篇使用PYTHON解析Wireshark的PCAP文件方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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使用pyppeteer模块实现无头浏览器自动化

    Python使用pyppeteer模块实现无头浏览器自动化

    pyppeteer是一个基于Python的模块,它提供了一个高级的API,可以通过控制无头浏览器来实现自动化网页操作,下面我们就来看看Python如何使用pyppeteer模块实现无头浏览器自动化吧
    2024-02-02
  • 对tf.reduce_sum tensorflow维度上的操作详解

    对tf.reduce_sum tensorflow维度上的操作详解

    今天小编就为大家分享一篇对tf.reduce_sum tensorflow维度上的操作详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 详解python上传文件和字符到PHP服务器

    详解python上传文件和字符到PHP服务器

    本篇内容主要给大家介绍了在python中上传字符或者文件到PHP服务器的相关实现代码,如果你正好用得到,一起学习下。
    2017-11-11
  • python 多进程通信模块的简单实现

    python 多进程通信模块的简单实现

    这篇文章主要介绍了python 多进程通信模块的简单实现,需要的朋友可以参考下
    2014-02-02
  • Python venv虚拟环境配置过程解析

    Python venv虚拟环境配置过程解析

    这篇文章主要介绍了Python venv虚拟环境配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • python argparse的使用步骤(全网最全)

    python argparse的使用步骤(全网最全)

    argparse是python的一个命令行参数解析包,在代码需要频繁修改参数时,方便使用,主要用法就是在命令行输入自己想要修改的参数,这篇文章主要介绍了python argparse的使用步骤(全网最全),需要的朋友可以参考下
    2023-04-04
  • jupyter notebook的安装与使用详解

    jupyter notebook的安装与使用详解

    这篇文章主要介绍了jupyter notebook的安装与使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Django获取前端数据的实现方式

    Django获取前端数据的实现方式

    这篇文章主要介绍了Django获取前端数据的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Python的Flask框架应用程序实现使用QQ账号登录的方法

    Python的Flask框架应用程序实现使用QQ账号登录的方法

    利用QQ开放平台的API使用QQ账号登录是现在很多网站都具备的功能,而对于Flask框架来说则有Flask-OAuthlib这个现成的轮子,这里我们就来看一下Python的Flask框架应用程序实现使用QQ账号登录的方法
    2016-06-06
  • Python中几个比较常见的名词解释

    Python中几个比较常见的名词解释

    这篇文章主要介绍了Python中几个比较常见的名词解释,本文解释同样适应其它编程语言,本文讲解了循环、迭代、递归、遍历等名词的含义,需要的朋友可以参考下
    2015-07-07

最新评论