博文

目前显示的是 九月, 2022的博文

通过网络远程共享USB设备

图片
如何在一个设备上使用另一个设备上的USB设备? 为什么会有这个需求? 比如银行常常会提供一个USB加密狗,只有插上加密狗才能正常使用网银。某些公司为了资料安全,也会使用这样的加密狗。通过远程USB,就能安全地共享加密狗。我个人的主要需求是,我的mac无法识别CC3200物联网开发板,可能是ARM mac原因。所以为了用这块开发板,我需要把它远程USB连接到我的Windows台式上。 需要准备什么东西? 两台电脑,一台是本地物理连接USB设备的,另一台是通过网络使用这个USB设备的。两台电脑的系统任意, Windows,Linux,macOS都行。 一台拥有公网IP的服务器,用于内网穿透。 内网穿透是什么?怎么配置? 参见我的另一篇博客, 如何DIY云游戏 一文。我使用frp进行内网穿透,它开源免费轻量。关于它网上有很多教程,我就不赘述了。简单的说,内网穿透的作用是让本地电脑拥有公网IP,这样就可以作为服务器使用。 通过网络共享USB设备 我使用的是 USB-Over_Network 这个软件。它是一个收费软件,但是提供可以连接1个USB设备的免费试用版,有15天的试用时间。如果你恰好财力雄厚,请 购买正版 ($149起),我就不在这里提供“学习版”了。 如何使用呢?按理说只要跟着官方文档做就行了,但我有一句“你也配叫文档”不知当讲不当讲。根本没有明确的操作指导,甚至会有错误的指引。比如 命令行文档 中提到的 shareport 参数根本就不存在。所以得靠软件本身带的(没有详细解释的)help摸索。很糟糕。 它的软件分为服务端和客户端两个版本,请到 官方下载页面 下载。其中服务端是物理插着USB设备的那台电脑,客户端则是远程使用这个USB设备的电脑,和远程桌面的服务-客户端刚好反过来。因此,你需要在本地电脑安装服务端软件,在远程电脑上安装客户端软件。值得一提的是,macOS上只有服务端软件,也就是说它只能共享USB给别人,但不能用别人共享的USB设备。并且,macOS的服务端是没有UI界面的,点击launchpad中的图标只会出现一个信息窗口。其他平台是有图形界面的。 macOS上点击USB over Network图标之后出现的信息窗口 它的原理是服务端在某一个端口上启动USB共享,然后客户端连接到这个端口上,就可以通过TCP传输USB数据了。 在macOS上,我们