python3使用scapy.rdpcap的解码问题

为了实现流量的特征提取

我使用scapy实现抓包数据的读取

from scapy.all import rdpcap

a = rdpcap('target.pcap')
print(a[3])

但是print的数据却很不人性化如下:

b'\x00\x0c)\n\xf1\r\x00PV\xc0\x00\x08\x08\x00E\x00\x00\xa2Z\t@\x00@\x06\xb8z\xc0\xa8S\x01\xc0\xa8S\x80,]#\x8cH_\xc5\xa4L\xed0=P\x18\x01\x00\xff\x8b\x00\x00POST /getname HTTP/1.1\r\nHOST: 192.168.83.128:9100\r\ncontent-type: application/json\r\ncontent-length: 17\r\n\r\n{"name":"kslaaa"}'

这哪是人看的

所以需要加上一个参数

mysummary,如下

from scapy.all import rdpcap

a = rdpcap('target.pcap')
print(a[3].mysummary)

print出来就是

<bound method Ether.mysummary of <Ether  dst=00:0c:29:0a:f1:0d src=00:50:56:c0:00:08 type=0x800 |<IP  version=4 ihl=5 tos=0x0 len=162 id=23049 flags=DF frag=0 ttl=64 proto=tcp chksum=0xb87a src=192.168.83.1 dst=192.168.83.128 |<TCP  sport=11357 dport=9100 seq=1214236068 ack=1290612797 dataofs=5 reserved=0 flags=PA window=256 chksum=0xff8b urgptr=0 |<Raw  load='POST /getname HTTP/1.1\r\nHOST: 192.168.83.128:9100\r\ncontent-type: application/json\r\ncontent-length: 17\r\n\r\n{"name":"kslaaa"}' |>>>>>

 

是的,PythonScapy库中的scapy.contrib.automotiveip模块可以用于进行SomeIP通信。SomeIP是一种用于汽车电子系统之间通信的协议,它允许不同的ECU(电子控制单元)之间进行消息传递和服务调用。Scapy是一个强大的网络数据包处理库,它提供了一种简单而灵活的方式来构建、发送和解析网络数据包。 在Scapy中,scapy.contrib.automotive.someip模块提供了SomeIP协议的实现。你可以使用该模块来创建SomeIP消息、发送消息到目标ECU,并解析接收到的SomeIP消息。通过Scapy的灵活性,你可以自定义SomeIP消息的各个字段,并根据需要进行修改。 下面是一个简单的示例代码,展示了如何使用Scapy进行SomeIP通信: ```python from scapy.all import * from scapy.contrib.automotive.someip import * # 创建SomeIP消息 someip_msg = SomeIP( service_id=0x1234, method_id=0x5678, client_id=0x9ABC, session_id=0xDEF0, payload=b'Hello, SomeIP!' ) # 发送SomeIP消息 send(IP(dst='192.168.0.1')/UDP()/someip_msg) # 解析接收到的SomeIP消息 pkt = sniff(filter='udp and port 1234', count=1)[0] someip_msg = pkt[SomeIP] print(someip_msg.payload) ``` 上述代码中,我们首先创建了一个SomeIP消息,并设置了一些字段,如service_id、method_id等。然后,我们使用Scapy的send函数发送该消息到目标IP地址。接着,我们使用Scapy的sniff函数监听网络接口,过滤出SomeIP协议的数据包,并解析出SomeIP消息。 希望以上信息对你有帮助!如果你还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请叫我徐先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值