南昌外贸网站建设,网络营销外包公司招聘,建筑网人才,百度广告点击软件源码文章目录 1.安装scapy库2.解析someip格式报文3.示例 1.安装scapy库
使用 pip 安装 scapy 第三方库#xff0c;打开 cmd#xff0c;输入以下命令#xff1a;
pip install scapy出现如图所示#xff0c;表示安装成功#xff1a; 2.解析someip格式报文
要解析someip格式报… 文章目录 1.安装scapy库2.解析someip格式报文3.示例 1.安装scapy库
使用 pip 安装 scapy 第三方库打开 cmd输入以下命令
pip install scapy出现如图所示表示安装成功 2.解析someip格式报文
要解析someip格式报文需要导入someip模块
from scapy.contrib.automotive.someip import *# 导入someip模块
from scapy.contrib.automotive.someip import * # 普通格式的someip报文
data b\x07\xff\x80\x01\x00\x00\x00S\x00\x00\x00\x06\x01\x01\x02\x00\x0c\xf1\xdds\x84\x00\x00\x00[\x19\xa2\xd1aV\xce\xc1)\xa9x02Eg\x00\x00\x00DsomeipData SOMEIP(_pktdata) # 解析普通格式报文为someip格式
someipData.show() # 打印someip格式的报文
打印的someip格式报文如下 3.示例
以下通过udp收发someip报文示例如下
1.新建文件udp_server.py用于模拟server端
from scapy.contrib.automotive.someip import *
import socketudpServer socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 创建socket对象走udp通道
host socket.gethostname() # 获取本地主机名
port 1000
serverAddr (host, port)
udpServer.bind(serverAddr) # 绑定服务端地址clientData, clientAddr udpServer.recvfrom(1024) # 接收来自客户端的数据
print(clientData) # 打印普通格式报文
someipData SOMEIP(_pktclientData)
someipData.show() # 打印someip格式报文
udpServer.sendto(clientData, clientAddr) # 发送数据给客户端
udpServer.close()
2.新建文件udp_client.py用于模拟client端
import socketudpClient socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 创建socket对象走udp通道
host socket.gethostname() # 获取本地主机名
port 1000
serverAddr (host, port)# someip报文
data b\x07\xff\x80\x01\x00\x00\x00S\x00\x00\x00\x06\x01\x01\x02\x00\x0c\xf1\xdds\x84\x00\x00\x00[\x19\xa2\xd1aV\xce\xc1)\xa9x02Eg\x00\x00\x00DudpClient.sendto(data, serverAddr) # 发送报文给服务端
udpClient.close()
3.打开两个cmd窗口一个为server端窗口另一个为client端窗口
运行顺序先启动server后启动client
server端窗口先执行命令 python udp_server.pyclient端窗口后执行命令 python udp_client.py
运行结果如下
server端窗口 client端窗口