• 636查看
  • 0回复

[系统功能] Python——解析以太网数据包

[复制链接]


该用户从未签到

发表于 21-1-2024 11:42:02 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


01

前言

随着汽车技术的发展,以太网已经成为汽车控制器之间通信的主流方式。因此,解析以太网报文已成为汽车工程师必备的技能之一。Wireshark大家都知道,它可以将以太网的报文保存成各种格式:

Python——解析以太网数据包w1.jpg

而本文介绍的就是将如上这些格式的内容,通过python脚本解析具体以太网帧的内容。

(其实真正的原因是数据接收方的工程师不在,只能让源头的我自证清白先,非说我车速信号没发出去
Python——解析以太网数据包w2.png


插个公司通讯工具的小彩蛋(各种颜色的皮肤,我们都说中国话!):

Python——解析以太网数据包w3.jpg

先进团队用飞书!

02

Scapy库介绍
Scapy是一个强大的网络协议构建和解析工具,由Python编写,具有以下主要特性:交互式数据包处理:用户可以在命令行界面或脚本中创建、发送、接收、解析和调试各种网络协议的数据包。多层协议支持:Scapy支持包括IPv4、IPv6、TCP、UDP、ICMP、ARP、Ethernet等在内的多种网络协议,以及DNS、DHCP、HTTP、SSL/TLS等应用层协议。数据包伪造和解码:用户可以轻松地使用Scapy伪造任意类型和内容的数据包,这对于网络攻防、协议测试和故障排查非常有用。同时,Scapy也能够解析捕获到的数据包,提供详细的协议字段信息。网络扫描和探测:Scapy可用于执行各种网络扫描任务,如端口扫描、操作系统指纹识别、服务探测等。捕获和分析网络流量:Scapy能够读取和写入pcap格式的网络流量捕获文件,使得用户可以对实时或历史网络流量进行深入分析。自定义协议和扩展:由于Scapy是用Python编写的,用户可以根据需要自定义新的协议字段或者扩展已有的协议实现。脚本化和自动化:Scapy的函数和方法可以方便地集成到Python脚本中,用于自动化网络测试、安全审计或者网络监控任务。数据分析和可视化:尽管Scapy本身不提供数据可视化功能,但由于其与Python的兼容性,用户可以结合其他Python库(如matplotlib、seaborn等)生成可视化报告和图表。总的来说,Scapy是一个灵活且功能强大的网络工具,适用于网络研究人员、安全专家、系统管理员以及任何需要深入理解和控制网络通信的人士。
03

实操

python肯定首先需要导入库,然后把需要解析的文件作为形参调用。

from scapy.all import *#获取当前工作路径
current_path = os.path.abspath(os.path.dirname(sys.argv[0]))print("当前路径为:", current_path)
#打开以太网数据包:cap = rdpcap(current_path + '\ss2.pcap')# 遍历每个数据包for package in cap:    print(package)
没错,没开玩笑,代码到这就结束了,以太网报文已经解析完成了!!

Python——解析以太网数据包w4.jpg

其实是可以根据package这个类,去找出对应自己想要的内容。无论是IP、MAC、长度等等信息,都可以得到,而数据则是我们需要的,可以根据数据的具体字节序去package.load中去获取。比方说我要解析车速,最后就把'66a6d641'解析成了26.8m/s。

Python——解析以太网数据包w5.jpg

04

结语

不过Scapy库由于它强大的功能,如果只做对以太网数据包的解析,运行的效率是不如pyshark库的,不过pyshark需要安装wireshark,还需要添加tshark.exe到环境变量中才能使用。最后再插个调试信息图片吧:

Python——解析以太网数据包w6.jpg


该用户从未签到

发表于 15-3-2025 10:02:01 | 显示全部楼层
Python库,用于创建、解析和操作以太网数据包。在汽车工程中,Scapy库能够帮助我们解析以太网报文,提取关键信息,如帧结构、协议类型等。通过Scapy库,我们可以轻松编写Python脚本,实现对以太网数据包的捕获、解析和解析结果的输出。这对于汽车工程师来说是非常有用的工具,特别是在需要验证通信质量和性能的场景下。使用Scapy库能够高效地解析数据包,帮助我们在开发和调试过程中准确判断问题所在。后续将详细介绍如何使用Scapy库解析以太网数据包的具体步骤和示例代码。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 19:22 , Processed in 0.326282 second(s), 35 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.