import dpkt
from dpkt.utils import mac_to_str,inet_to_str
cap=f'D:/test_pacp/6.pcap'
with open(cap,'rb') as f:
pcap = dpkt.pcap.Reader(f)
for timestamp, buf in pcap:
print('Timestamp: ', str(datetime.datetime.utcfromtimestamp(timestamp)))
eth = dpkt.ethernet.Ethernet(buf)
     print(mac_to_str(eth.dst)) #目的mac
eth.pprint()
break #解析一个包,json字典格式取值

#打印结果如下:

64:3f:5f:02:01:3d

Timestamp: 2020-08-24 05:57:17.676718

Ethernet(
dst=b'd?_\x02\x01=', # 64:3f:5f:02:01:3d
src=b'd?_\x01\x1fR', # 64:3f:5f:01:1f:52
type=2048,
data=IP(
v=4,
hl=5,
tos=0,
len=1500,
id=24492,
rf=0,
df=1,
mf=0,
offset=0,
ttl=64,
p=6, # TCP
sum=19969, # 0x4e01
src=b'\xc0\xa8\x03\x14', # 192.168.3.20
dst=b'\xc0\xa8\x03\n', # 192.168.3.10
opts=b'',
data=TCP(
sport=20161,
dport=46518,
seq=4246601815,
ack=2953433512,
off=5,
flags=16, # ACK
win=2667,
sum=57759, # 0xe19f
urp=0,
opts=b'',
data=b'8=STEP.1.0.0\x019=8543\x0135=UA3201\x0149=TEST\x0156=TEST\x0134=0\x0152=20200824-13:57:17\x0110142=7\x0110072=61228\x0150=2\x0195=8454\x0196=_\xfc\x19\x81\x01 9\x8a\x8160081\xb

.........

'
) # TCP
) # IP
) # Ethernet

#参考资料 https : //github.com/kbandla/dpkt/blob/master/examples/print_packets.py

dpkt 简单应用的更多相关文章

  1. python dpkt SSL 流tcp payload(从三次握手开始到application data)和证书提取

    # coding: utf-8 #!/usr/bin/env python from __future__ import absolute_import from __future__ import ...

  2. python dpkt解析ssl流

    用法:python extract_tls_flow.py -vr  white_pcap/11/2018-01-10_13-05-09_2.pcap  -o pcap_ssl_flow.txt  & ...

  3. python dpkt 解析 pcap 文件

    dpkt Tutorial #2: Parsing a PCAP File 原文链接:https://jon.oberheide.org/blog/2008/10/15/dpkt-tutorial-2 ...

  4. 【Python】测试dpkt解析pcap

    1.前言 本想借助dpkt解析mail.dns.http来辅助分析pcap包进行分析,查阅资料学习却发现并不如使用scapy那么方便. dpkt是一个python模块,可以对简单的数据包创建/解析,以 ...

  5. 【造轮子】打造一个简单的万能Excel读写工具

    大家工作或者平时是不是经常遇到要读写一些简单格式的Excel? shit!~很蛋疼,因为之前吹牛,就搞了个这东西,还算是挺实用,和大家分享下. 厌烦了每次搞简单类型的Excel读写?不怕~来,喜欢流式 ...

  6. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

  7. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  8. 哪种缓存效果高?开源一个简单的缓存组件j2cache

    背景 现在的web系统已经越来越多的应用缓存技术,而且缓存技术确实是能实足的增强系统性能的.我在项目中也开始接触一些缓存的需求. 开始简单的就用jvm(java托管内存)来做缓存,这样对于单个应用服务 ...

  9. 在Openfire上弄一个简单的推送系统

    推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...

  10. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

随机推荐

  1. 将本地文件推送到Gitee仓库

    完整的步骤 1.在gitee中创建仓库 2.下载.安装git 3.推送文件到gitee 推送文件到gitee 1.在要上传的文件夹空白处,点击右键,选择 git bash here 2.输入 git ...

  2. ESP_IDF中使用TFT_eSPI库驱动ST7789V

    前言: 想学习创建好看的菜单界面很久了,寒假在家正好有时间,手中恰好有一块ST7789的tft屏幕,正好拿来练练手. Step 1: 在github中找到TFT_eSPI库(网址:docs · mas ...

  3. MySQL时区的问题

    我这里是在application.properties文件中配置的MySQL连接信息. 开始时间显示不征程是因为没有配置时区,后来加上了setTimeZone=Asia/Shanghai,时间显示正常 ...

  4. docker tomcat 环境构建

    docker build -t repos_local/centos-jdk7-tomcat7:0.0.1 . -t 设置tag名称, 命名规则registry/image:tag . 表示使用当前目 ...

  5. DoTween结束后删除对象

    using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; ...

  6. 清空buff/cache

    https://blog.csdn.net/qq_34246965/article/details/109258656 1)清理pagecache(页面缓存)echo 1 > /proc/sys ...

  7. hdrp package导入工程

    补充: 可以直接把包提出来放一个单独文件夹 然后在package manager中load from disk,跟下面手动改效果没区别 如果发现有各种引用丢失,在工程内对包reimport下 1 需要 ...

  8. vue - 解决页面跳转到外部链接后,ios回退到本页面,生命周期,路由导航守卫钩子都无法触发的问题

    虽然加班,最近心情还是可以的,没多少bug找上门. 乐级生悲,遇到了个奇葩的坑,花了点时间百度才解决...但我离不开的'板砖'是安卓的,对此坑是抗拒的,完全没问题... #此坑描述 ...订单详情某按 ...

  9. 2.VS编写XML实例程序

    在VS中编写XML实例程序 1.如下,在 VS 中分别新建  XML 文件.XML 解析类.XML 实体类 2.在项目中代码,如下 (1)XML 文件(注:在 VS 解决方案资源管理器中选中 XML ...

  10. PC端 图片宽度是百分比,动态设置图片高度为 6:9

    我们知道图片宽度可以设置  百分比,但是高度要给一个固定值  不然不生效,并且产品要求图片显示必须是9:6,这开始确实难倒我了 后面想了一下用js  获取图片宽度  动态的计算高度就行了,超简单 se ...