一個基於車載以太網通訊的HUD通訊分析過程

目標設備:某國外hud(下圖)

目標:建立通訊,控制hud動作

已知信息:兩者爲以太網通訊

未知信息:以太網主從關係、設備ip地址、通訊端口

分析流程:

車載以太網爲兩線,需轉換器才能和電腦連接,用示波器觀察斷路時候的波形判斷hud爲從設備。

上圖爲網絡轉換板

連接到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 也可以看到類似信息:

依次輸入下列命令創建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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章