测试环境:Linux(PVE) + Windows 10
软件 https://github.com/vadimgrn/usbip-win2
使用设备 ETAS ES582.1
服务端安装
# 安装
apt update
apt install usbip
# 加载
modprobe usbip-host
modprobe usbip-core
modprobe vhci-hcd
# 查看列表,查找到 bus id
usbip list -l
# bind 设备
usbip bind -b 1-3
# 启动服务端
usbipd -D
启动后,服务端会打开 TCP 3240 端口。
客户端,Windows,安装二进制,按要求重启。
管理员模式 CMD 允许自定义驱动,执行完再重启
bcdedit.exe /set testsigning on
usbip.exe 被加到了 %PATH% 里,我是用的 0.9.5.5 版,命令行需要使用 usbip.exe ,如果使用 usbip 会无响应。
>usbip.exe list -r 192.168.8.254
Exportable USB devices
======================
1-3 : Robert Bosch GmbH : unknown product (108c:0168)
: /sys/devices/pci0000:00/0000:00:14.0/usb1/1-3
: (Defined at Interface level) (00/00/00)
: 0 - Communications/Multi-Channel/? (02/04/01)
: 1 - (Defined at Interface level) (00/00/00)
>usbip.exe attach -r 192.168.8.254 -b 1-3
succesfully attached to port 1
使用 ETAS HSP,设备能正常识别。
Linux 端,tcpdump 抓包,数据能抓到,但是 WireShark 自带的 dissector 暂时有问题,解析不完整。
理论上到了 tcp/ip 的这条路,做个 mitm 应该就好搞了。