【Python】使用python解析普通格式的报文为someip格式报文

文章目录

  • 1.安装scapy库
  • 2.示例

1.安装scapy库

使用 pip 安装 scapy 第三方库,打开 cmd,输入以下命令:

pip install scapy

出现如图所示,表示安装成功:

【Python】使用python解析普通格式的报文为someip格式报文_第1张图片

2.示例

要解析someip格式报文,需要导入someip模块:

from scapy.contrib.automotive.someip import *

UDP收发报文举例:

from scapy.all import *
from scapy.contrib.automotive.someip import * # load_contrib('automotive.someip')
import socket
import time

# 创建UDP套接字
udpsock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

# 绑定本地信息
local_addr = ("192.168.1.100", 10000)  
remote_addr = ('192.168.1.101', 10001)
udpsock.bind(local_addr)

data = udpsock.recvfrom(1024) # 接收数据
if len(data) > 0:
    print(data) # 打印普通格式报文
    rev_sip = SOMEIP(_pkt=data[0])
    rev_sip.show() # 打印someip格式报文
    udpsock.sendto(data[0],remote_addr) # 发送数据  
    
# 关闭套接字
udpsock.close()

你可能感兴趣的:(Python,python,车载通信协议,SOME/IP协议)