【发布时间】:2026-02-15 06:45:01
【问题描述】:
我正在做一个项目,我想通过另一个接口重定向以太网流量。设置如下:
我有一台可以正常连接互联网的电脑。我还有一块 MBED LPC1768 板,我可以通过 USB 与我的电脑连接。我可以将二进制文件上传到此设备并运行它。例如,我可以让它充当键盘并将击键发送到计算机。我还可以让设备充当鼠标并发送鼠标事件。
现在我希望设备充当以太网接口。由于该设备是使用 USB 连接的,因此我正在考虑使用 USB 以太网协议。我选择了适用于 Linux 和 OS X 的 USBCDC-ECM 协议。插入设备时,设备被正确识别为以太网接口。此外,我在嵌入式设备上运行了一个 DHCP 服务器,以便为计算机分配一个 IP 地址。请注意,该设备没有与外界的有效互联网连接(计算机确实有)。
因此嵌入式设备可以从计算机捕获互联网流量。当设备收到数据包时,我想分析数据包,将其发送回计算机并通过工作接口将其重定向。
例如,我有一台笔记本电脑,并且在接口wlan0 上有一个工作连接。现在我插入设备。它被分配给接口eth0。 eth0 是我在计算机上的首选接口,因此所有流量都转到eth0。我在设备上捕获此流量,现在我想将流量发送回计算机并通过wlan0(或任何其他工作接口)将其路由。所以基本上,我想创建一个设备来捕获数据并将其发送回计算机,就像一个用于互联网流量的中间件 USB 设备。
这可能吗?我宁愿不修改操作系统上的设置并让设备管理它。我的主要操作系统是 Ubuntu 14.04,所以我现在不关心 Windows 或 OS X。另外,有没有其他方法可以做到这一点?也许 USBCDC-ECM 不是最好的选择。
任何帮助将不胜感激。
【问题讨论】:
-
这个问题太广泛了。您对实际编程问题有任何具体问题吗?你自己试过什么?你试过恩智浦论坛吗?
-
如果它被分配了一个地址,那就是一个DHCP 客户端而不是一个服务器。
-
好的,在阅读了其他帖子之后:您是想让电路板本身通过“另一个接口”(LPC1768 实际上具有片上以太网 MAC)连接到互联网,还是让 PC 用作董事会和 i-net 之间的桥梁?对于后者:这实际上不是编程问题,而是关于管理。
-
@Clifford 是的,我已经在问题中对其进行了编辑。计算机获得一个 IP 地址,设备将该 IP 地址提供给计算机。
-
@Olaf 开发板本身没有可用的互联网连接。我希望它从计算机接收互联网请求,分析这些数据包并将它们发送回计算机,然后让它们通过有效的接口路由。
标签: routes embedded protocols ethernet dhcp