一个基于车载以太网通讯的HUD通讯分析过程

目标设备:某国外hud(下图)

一个基于车载以太网通讯的HUD通讯分析过程_第1张图片

目标:建立通讯,控制hud动作

已知信息:两者为以太网通讯

未知信息:以太网主从关系、设备ip地址、通讯端口

分析流程:

车载以太网为两线,需转换器才能和电脑连接,用示波器观察断路时候的波形判断hud为从设备。

一个基于车载以太网通讯的HUD通讯分析过程_第2张图片

上图为网络转换板

连接到ubuntu系统,调用网络查看命令:

Sudo tcpdump   -e -i enp0s31f6

获取类似下面这样的信息:

15:00:12.863470 02:00:00:00:00:40 (oui Unknown) > 01:00:5e:00:03:80 (oui Unknown), ethertype 802.1Q (0x8100), length 70: vlan 129, p 0, ethertype IPv4, 10.0.0.64.49818 > 239.0.3.128.51915: UDP, length 24

可知hud的ip地址为10.0.0.64, 采用id为129的vlan和外部通讯,其使用49818对外进行广播,广播地址为239.0.3.128,端口为51915

用wireshark 也可以看到类似信息:

一个基于车载以太网通讯的HUD通讯分析过程_第3张图片

依次输入下列命令创建vlan:

ip link add link enp0s31f6  name eth0_129 type vlan id 129

ip addr add 10.0.0.2/24 brd 10.0.0.255 dev eth0_129

ip link set dev eth0_129 up

https://github.com/troglobit/mtools下载广播调试工具,编译后运行:

./mreceive  -g  239.0.3.128 -p 51915   -i 10.0.0.2  

可以发现能够接受到广播包,但ping 10.0.0.64 不通,用wireshark看到设备有回应,但mac地址不对,调用下列命令修改mac地址:

sudo ifconfig eth0_129 down                                                    

sudo ifconfig eth0_129 hw ether 02:00:00:00:00:02                              

sudo ip link set dev eth0_129 up  

再次ping 成功。

用端口扫描工具扫描设备:

nmap -sT 10.0.0.64

提示22号端口处于开放状态,这个一般用于ssh,尝试用ssh登录:

ssh 10.0.0.64 -l root

成功登录。

登录设备即可查看程序监听端口:

netstat -tunlp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   

...........

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      765/dropbear

tcp        0      0 0.0.0.0:13402           0.0.0.0:*               LISTEN      849/hud_rg3

...........

最终确认13402为应用通讯端口。

参考文档:

https://serverfault.com/questions/163244/linux-kernel-not-passing-through-multicast-udp-packets

https://www.cnblogs.com/cslunatic/p/3772223.html

https://wiki.ubuntu.com/vlan

你可能感兴趣的:(一个基于车载以太网通讯的HUD通讯分析过程)