USBIP + Windows

测试环境: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 应该就好搞了。

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *