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. python日志篇-基础版

    对常用python日志语法做记录,方便以后重复使用 print内容记录到文件: #!/usr/bin/env python # -*- coding: utf-8 -*- ##____________ ...

  2. DataTable中排序的开启与禁用

    1. 2. orderable设置成true会打开排序功能,设置为false会禁用排序功能.

  3. Zookeeper ZAB协议-Leader&Followe 对象创建和启动源码解析

    这篇博客主要是解析了Leader,Follower 对象的创建,相对来说比较简单,主要是了解一下在实例化的时候创建了哪些对象,这些对象会在数据传输的过程中发挥比较打的作用,如果有了解过的,可以直接跳过 ...

  4. vue高级进阶( 三 ) 组件高级用法及最佳实践

      vue高级进阶( 三 ) 组件高级用法及最佳实践 世界上有太多孤独的人害怕先踏出第一步. ---绿皮书 书接上回,上篇介绍了vue组件通信比较有代表性的几种方法,本篇主要讲述一下组件的高级用法和最 ...

  5. (K8s学习笔记五)Pod的使用详解

    1.Pod用法 K8s里使用的容器不能使用启动命令是后台执行程序,如:nohup ./start.sh &,该脚本运行完成后kubelet会认为该Pod执行结束,将立刻销毁该Pod,如果该Po ...

  6. Mybatis拦截器,修改Date类型数据。设置毫秒为0

    1:背景 Mysql自动将datetime类型的毫秒数四舍五入,比如代码中传入的Date类型的数据值为  2021.03.31 23:59:59.700     到数据库   2021.04.01 0 ...

  7. 【小记】golang_map

    map 前言:map 几个操作实现有点复杂,即便之前看懂了没过多久也就忘了,这里简单做下记录.为了便于记忆,将 mapassign 的全过程以流程图的方式展示,其他省略 mapassign 在流程图中 ...

  8. FME视频教程

    FME视频教程 分为三种 10分钟 2011 2012

  9. Finance财务软件(如何运行该软件)

    下载软件 首先,去gitHub下载该项目的release,尽量下载最新版本:https://github.com/edwardorchis/finance/releases.国内也可以在码云下载htt ...

  10. vs2019 文件读取操作

    1 #include<stdio.h> 2 #define INF 10000000 3 int main() 4 { 5 FILE* fin , * fout ; 6 errno_t a ...