Windows端 USBIP测试
注:—— 写在前面:
其实USBIP最开始的时候只是用在Linux端的, 具体是如下:
- Windows端只可以作为客户端, 不可以做为服务端
- Linux端既可以作为客户端, 也可以作为服务端
- USBIP其实已经很老了, 03和11年都有更新, 之后就没有更新, 所以对于现代的版本不一定支持, 但是Windows10目前还是主流os, 所以有必要写个对于Windows的USBIP, 但是Linux内核集成的USBIP无法用到Windows, 所以这里的服务端我参考了Github大佬的代码, 也就是说, 原生的Linux内核的USBIP无法完成Windows测试, 如下的exe均是使用了Github大佬的源代码才完成了Windows10作为服务端的测试
1. Windows端
- 下载exe文件 —— 网址
注:
去release下载全部的可执行文件, 包括.sys, .cer等等
-
进入BIOS -> Security, 将security boot设置为disabled, 这样我们的电脑就可以进入测试模式, 方便接下来的进入测试模式command执行
-
以管理员的权限启动cmd, 接下来的操作默认都是管理员权限, 记得关闭Windows防火墙
注:
虽然有些操作不需要管理员权限, 但是为了防止记混, 我们全部使用管理员权限操作cmd
-
cmd输入:
bcdedit.exe /set TESTSIGNING ON
这句话执行完成后需要重启电脑应用 —— 成功后如下显示:
- 导入证书
注1:
最后一步2个存储位置都需要存放certificate
- 受信任的根证书颁发机构
- 受信任的发布者
注2:
私钥键入的密码就是usbip
- 进入到之前下载好的exe文件夹目录
- 查看本地的usb设备
usbip.exe list -l
- busid 1-181 (8087:800a)
Intel Corp. : unknown product (8087:800a)
- busid 1-201 (046b:ff01)
American Megatrends, Inc. : unknown product (046b:ff01)
- busid 1-198 (8087:8002)
Intel Corp. : unknown product (8087:8002)
- busid 1-50 (ffff:5678)
unknown vendor : unknown product (ffff:5678)
- busid 1-213 (0424:2422)
Standard Microsystems Corp. : unknown product (0424:2422)
- busid 1-59 (046b:ff10)
American Megatrends, Inc. : Virtual Keyboard and Mouse (046b:ff10)
- 将usb设备与本地机器绑定
usbip.exe bind -b 1-50
usbip: info: bind_device: bind device on busid 1-50: complete
- 将端口启动监听 —— port:3240
usbipd.exe -d -4
usbipd: info: starting usbipd (usbip 1.0.0)
usbip: debug: C:\work\usbip-win\userspace\src\usbipd\usbipd_sock.c:38:[build_sockfd] opening 0.0.0.0:3240
usbip: info: listening on 0.0.0.0:3240
Linux端
- 加载mod
[root@localhost usb]# modprobe vhci-hcd
[root@localhost usb]# lsmod | grep usbip
usbip_host 23823 0
usbip_core 27289 2 usbip_host,vhci_hcd
- 查看远程可用usb设备
[root@localhost usb]# usbip list --remote=172.20.156.105
Exportable USB devices
======================
- 172.20.156.105
1-50: unknown vendor : unknown product (ffff:5678)
: \\?\usb#vid_ffff&pid_5678#2584371134226106772#{fb265267-c609-41e6-8eca-a20d92a833e6}
: (Defined at Interface level) (00/00/00)
- 连接
[r