一、Scapy的介绍:
Scapy官网:https://scapy.net/
Scapy is a powerful interactive packet manipulation program. It is able to forge or decode packets of a wide number of protocols, send them on the wire, capture them, match requests and replies, and much more. It can easily handle most classical tasks like scanning, tracerouting, probing, unit tests, attacks or network discovery (it can replace hping, 85% of nmap, arpspoof, arp-sk, arping, tcpdump, tshark, p0f, etc.). It also performs very well at a lot of other specific tasks that most other tools can’t handle, like sending invalid frames, injecting your own 802.11 frames, combining technics (VLAN hopping+ARP cache poisoning, VOIP decoding on WEP encrypted channel, …), etc.
Scapy是一个功能强大的交互式数据包处理程序。它能够伪造或解码大量协议的数据包,在网络上发送它们,捕获它们,匹配请求和应答,以及更多。它可以轻松处理大多数经典的任务,如扫描、跟踪、探测、单元测试、攻击或网络发现(它可以取代hping、85%的nmap、arpspoof、arp-sk、arping、tcpdump、tshark、p0f等)。它也能很好地完成很多其他工具无法处理的特定任务,比如发送无效帧,注入你自己的802.11帧,结合技术(VLAN跳变+ARP缓存中毒,WEP加密信道上的VOIP解码,等等)。
在scapy框架也包含了大量车用协议,如uds、 someip、CCP、Doip等协议,因此在学习DoIP协议之余,通过scapy框架进行组包对于进一步理解协议有很大帮助。本文旨在通过scapy实现doip协议中的车辆发现,路由激活、诊断消息数据包,来深入理解DoIP协议。
DoIP协议说明
Doip即基于IP网络的诊断通信协议。DoIP协议由ISO13400定义,标准定义了传输层,网络层,数据链路层以及物理层。
DoIP数据结构