广告位联系
返回顶部
分享到

使用Python分析wireshark文件

python 来源:互联网 作者:佚名 发布时间:2024-12-01 09:06:37 人浏览
摘要

1 pyshark库 支持wireshark的解析等。 安装pyshark 1 pip install pyshark 2 dpkt库 这也是一个用于分析pcap文件的库,是所有分析pcap库中最快的一个。 官方参考文档: https://dpkt.readthedocs.io/en/latest/print_pack

1 pyshark库

支持wireshark的解析等。

安装pyshark

1

pip install pyshark

2 dpkt库

这也是一个用于分析pcap文件的库,是所有分析pcap库中最快的一个。

官方参考文档:

https://dpkt.readthedocs.io/en/latest/print_packets.html

https://dpkt.readthedocs.io/en/latest/examples.html#examples-in-dpkt-examples

安装

1

pip install dpkt

3 应用实例

dpkt读pcap文件

1

2

3

4

5

f = open('new1.pcap','rb')

pcap = dpkt.pcap.Reader(f)

# ts是timestemp时间戳,buf(二进制数据)是主体的数据包信息。

for ts,buf in pcap:

    pass

获取每个数据包的ip地址

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#由buf这个二进制数据转化为Ethernet类的对象

eth = dpkt.ethernet.Ethernet(buf)

  

ip_src = eth.data.src #这里是获取这个数据包的源ip

#要注意的是,这里的源ip是以二进制的方式返回的,如果我们要获取点分十进制的ip地址

#可以这样做

def inet_to_str(inet):

    try:

        return socket.inet_ntop(socket.AF_INET,inet)

    except:

        return False#这里因为具体需要把IPv6给丢弃了

        #如果希望IPv6也能获取可以这样

        #return socket.inet_ntop(socket.AF_INET6,inet)

ip_src = inet_to_str(eth.data.src)

ip_dst = inet_to_str(eth.data.dst)#目的ip\

获取报文中的ip

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

#coding=utf-8

import dpkt

import socket

import time

  

def inet_to_str(inet):

    try:

        return socket.inet_ntop(socket.AF_INET,inet)

    except:

        return False

  

def getip():

    f = open('new1.pcap','rb')#要以rb方式打开,用r方式打开会报错

    pcap = dpkt.pcap.Reader(f)

    for ts,buf in pcap:

        print(ts)打印时间戳

        eth=dpkt.ethernet.Ethernet(buf)

  

        #这里也是对没有IP段的包过滤掉

        if eth.type != dpkt.ethernet.ETH_TYPE_IP:

            continue

  

        ip = eth.data

        ip_src = inet_to_str(ip.src)

        ip_dst = inet_to_str(ip.dst)

        print(ip_src+'-->'+ip_dst)

  

if __name__=='__main__':

getip()

修改报文中的源ip和目的

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

import dpkt

import os

import socket

 

test = open("new.pcap","wb")

writer = dpkt.pcap.Writer(test)

f=open("old.pcap",'rb')

packets = dpkt.pcap.Reader(f)

for ts,buf in packets:

    eth = dpkt.ethernet.Ethernet(buf)

 

    # 这里是将点分十进制转化成二进制

    eth.data.src = socket.inet_pton(socket.AF_INET, "192.168.1.1")

    eth.data.dst = socket.inet_pton(socket.AF_INET, "192.168.1.2")

    writer.writepkt(eth,ts=ts)#不加ts参数,数据包时间戳会默认为当前时间

    test.flush()

test.close()


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • Python爬虫中如何使用xpath解析HTML

    Python爬虫中如何使用xpath解析HTML
    你可能之前听说或用过其它的解析方式,像 Beautiful Soup,用的人好像也不少,但 xpath 与之相比,语法更简单,解析速度更快,就像正则表达
  • 使用Python分析wireshark文件
    1 pyshark库 支持wireshark的解析等。 安装pyshark 1 pip install pyshark 2 dpkt库 这也是一个用于分析pcap文件的库,是所有分析pcap库中最快的一个。 官
  • Python删除视频的某一段并保留其他时间段
    要使用 Python 删除视频的某一段并保留其他时间段,可以借助 moviepy 库来实现。moviepy 是一个非常强大的视频处理库,可以轻松进行视频剪切
  • python中字典元素的创建、获取和遍历等字典

    python中字典元素的创建、获取和遍历等字典
    本文介绍了Python中的字典操作,包括字典的创建、元素获取(使用键和get()方法)、删除与清空(del和clear())、增加新键值对、修改已有值、
  • 使用Python实现轻松调整视频的播放速度
    要使用 Python 调整视频的播放速度,可以利用 moviepy 库中的 fx(特效)模块来实现这一功能。通过 moviepy.editor 中的 VideoFileClip 类和 fx.speedx
  • 使用Python实现获取Apollo配置
    Apollo(阿波罗)是一款可靠的分布式配置管理中心,能够集中化管理应用不同环境、不同集群的配置。本教程将介绍如何在Python项目中轻松
  • 使用Python实现区分I和L介绍

    使用Python实现区分I和L介绍
    分不清的I和l 今天,朋友让我在游戏里面加他为好友,并且,他发送了自己的游戏ID给我。不过,由于这个游戏中不支持复制粘贴,所以说,
  • python使用ddddocr库识别滑动验证码介绍

    python使用ddddocr库识别滑动验证码介绍
    示例代码: 1 2 3 4 5 6 7 8 import ddddocr det = ddddocr.DdddOcr(det=False,ocr=True,show_ad=False) with open(target.png,rb) as f: target_bytes = f.read() with open(bg_origin,rb)
  • Python代码调试Debug的实用介绍
    我们日常写代码过程中,难免会写出各类错误,这些错误可能是语法错误、逻辑错误或运行时错误。我们可以使用最复杂的答案是来检测到
  • 怎么在Windows下载、安装Python和配置环境(新手、保

    怎么在Windows下载、安装Python和配置环境(新手、保
    1、Python介绍 Python 是一种跨平台的、开源的、解释型高级编程语言。它具有简洁易懂的语法、丰富的功能和强大的扩展性,被广泛应用于数
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计