Python解析pcap文件示例

 更新时间:2022年07月15日 09:34:11   作者:花匠小林  
这篇文章主要为大家介绍了Python解析pcap文件示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

引言

近期做一些基于TCP协议的项目,跟其他接口方调试时经常出现不一致的问题,而程序日志又不能完成保证公正,就只能通过tcpdump抓包的方式来排查问题了。
由于是自定义的协议,用wireshark只能解析成16进制的报文,排查起来并不方便,而实现相关的插件又要用到C++或者LUA语言,这两者我都极少接触,因此,只能临时用Python写程序来解析了~

首先,需要安装对应的依赖:

pip install dpkt

我们用tcpdump或者wireshark抓到对应的内容后,保存为 tcp-log.pcap 文件,然后就可以解析了(以下代码基于Python3):

import dpkt
import socket

file = 'tcp-log.pcap'
with open(file, 'rb') as fr:
    pcap = dpkt.pcap.Reader(fr)
    for timestamp, buffer in pcap:
        ethernet = dpkt.ethernet.Ethernet(buffer)
        # 我们仅需要TCP的包
        if not isinstance(ethernet.data, dpkt.ip.IP):
            continue
        ip = ethernet.data
        if not isinstance(ip.data, dpkt.tcp.TCP):
            continue
        tcp = ip.data
        # 过滤掉内容为空的包
        if len(tcp.data) == 0:
            continue
        # 发送方的IP
        src = socket.inet_ntoa(ip.src)
        # 接收方的IP
        dst = socket.inet_ntoa(ip.dst)
        # 报文内容(byte数组)
        byteArray = tcp.data
        # TODO 根据自定义的协议内容,解析bytes数组

以上就是Python解析pcap文件方法示例的详细内容,更多关于Python解析pcap文件的资料请关注脚本之家其它相关文章!

相关文章

  • Python全栈之基本数据类型

    Python全栈之基本数据类型

    这篇文章主要为大家介绍了Python基本数据类型,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • python  dataprep库简化加速数据科学操作

    python  dataprep库简化加速数据科学操作

    这篇文章主要为大家介绍了python  dataprep库简化加速数据科学操作,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • python绘制散点图并标记序号的方法

    python绘制散点图并标记序号的方法

    今天小编就为大家分享一篇python绘制散点图并标记序号的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python 中的 with open文件操作的最佳实践

    Python 中的 with open文件操作的最佳实践

    在 Python 中,with open() 提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异常,避免资源泄漏,本文给大家介绍Python 中的 with open文件操作的最佳实践,感兴趣的朋友一起看看吧
    2025-04-04
  • Python (Win)readline和tab补全的安装方法

    Python (Win)readline和tab补全的安装方法

    今天小编就为大家分享一篇Python (Win)readline和tab补全的安装方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python创建文件夹与文件的快捷方法

    Python创建文件夹与文件的快捷方法

    这篇文章主要给大家介绍了关于Python创建文件夹与文件的快捷方法以及批量创建文件夹的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 通过 Python 和 OpenCV 实现目标数量监控

    通过 Python 和 OpenCV 实现目标数量监控

    这篇文章主要介绍了如何通过 Python 和 OpenCV 实现目标数量监控,本文通过实例代码图文的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • Python将多个excel文件合并为一个文件

    Python将多个excel文件合并为一个文件

    这篇文章主要为大家详细介绍了Python将多个excel文件合并为一个文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Python中的三目(元)运算符详解

    Python中的三目(元)运算符详解

    这篇文章主要介绍了python 三元运算符使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-09-09
  • Python环境安装配置实用的提示

    Python环境安装配置实用的提示

    想要使用Python语言编写程序,我们必须下载Python安装包并配置Python环境,这篇文章主要给大家介绍了关于Python环境安装配置实用提示的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-11-11

最新评论