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. 批量检测URL中的关键词,并且将不含有关键词的URL输出到txt文件当中

    编写代码时遇到的问题 写入txt(一开始忘记了tuple类型需要转换为str) 处理逻辑(一开始并没有将 body与url绑定到一起,所以或返回所有的url) 关闭太早(这点是有点疑惑的,难道不用关闭 ...

  2. unittest学习总结

    2022-02-21 15:03:20 unittest --- 单元测试框架 - Python 3.9.10 文档 可以自由选择版本文档查看 一.unittest概念 unittest是Python ...

  3. 使用shell定时执行脚本

    yum install crontabs //安装 #检查安装crontab -V #服务操作service crond start //启动服务service crond stop //关闭服务se ...

  4. EBS关于LPN的API【OM】

    PROCEDURE create_lpn(x_return_status OUT NOCOPY VARCHAR2, p_box_item_id IN NUMBER, p_box_number IN V ...

  5. linux命令测试中运行

      1.1 scp 命令-拷贝文件 scp local_file remote_username@remote_ip:remote_folder eg : scp G96S.Z.16m root@19 ...

  6. kali 子域名搜集工具学习记录

    # fierce 主要是对子域名进行扫描和收集信息,并且它还可以测试区域传送漏洞. kali 2022.1 apt-get 安装的fierce并没有 -dns参数,需要手动下载,下载后有个fierce ...

  7. 微信小程序笔记_02

    在微信小程序中使用Echarts组件 github源码地址:https://github.com/ecomfe/echarts-for-weixin gitcode源码地址:https://gitco ...

  8. Filter Pattern 2 (dubbo的实现方式)

    前一篇FilterPattern的范式,基本和Tomcat实现的filter chain是一样的: 这里介绍一下我看完dubbo关于Filter Pattern的实现思路,自己抽象出来的代码,以及理解 ...

  9. CG3Y/ CG3Z 程序迁移

    /usr/sap/trans/cofiles/K900075.S4Q 固定值  文件目录(AL11)下去找 C:\Users\lenovo\Desktop\publici\K900075.S4Q /u ...

  10. Django 之 Form

    forms组件 1. 校验字段功能 针对一个实例:注册用户讲解. 模型:models.py class UserInfo(models.Model): name=models.CharField(ma ...