对于工作中的项目,我需要能够通过将各种以太网 NIC 连接到“环回适配器插头”来测试它们,例如在生产装配线上生产的各种嵌入式 Linux boxen 上的这个。我希望能够在一个以太网接口上设置两个不同的 IP 地址(AddressA 和 AddressB),然后运行从 AddressA 到 AddressB 的 ping。
Ex: ping -I AddressA AddressB
这甚至可能吗?
此外,是否有可用的测试可以使用环回插头仅在 L2/MAC 地址级别测试以太网接口?如果我记得,RealTek 为他们的 8139 以太网适配器提供了一个诊断工具,该工具可以进行 L2-only 环回测试,我想知道是否有一个 Linux 工具可以做同样的事情。
更新: 在上述评论中添加了关于我为什么要测试这些框的评论。这个周末我将不得不尝试其中的一些想法,看看会发生什么。也许使用梯形插孔 + 硬件商店的一些电线制作我自己的“环回适配器插头”,并尝试看看我是否可以使用示波器或逻辑分析仪查看信号,以确保信号实际接触到电线。由于这似乎比预期的要难,我们的工作团队决定通过拿起一个小型家用 NAT 路由器然后 ping 路由器并将其放入硬件测试装置中来测试 Linux boxen 以太网端口。不过,我对此的技术方面很感兴趣,并想自己尝试这个主题。
当然 :)
其实很简单。:)(开个玩笑,如果你已经知道它总是很简单)
我不确定 L2 是否真的可以工作,但
ip neigh
你应该也可以修改 arp 缓存(对于死简单来说就这么多了)您可能会发现arping更有可能命中线路,因为它使用 arp,因此完全避免了 IP 堆栈。
在这种情况下,信号是否会真正“击中电线”是值得怀疑的。由于设备将看到它的两个 IP 地址都分配给了一个接口,因此所有 MAC 查找/路由(如果两个接口位于不同的子网中)将发生在系统本身中,并且永远不会命中物理接口。
环回连接器可用于欺骗盒子将接口视为“启动”,因此您可以进行此测试,但只需使用普通电缆和备用交换机端口即可完成同样的事情。
相反,如果您的意思是在同一个盒子中将 eth0 连接到 eth1,那么您可以只使用交叉电缆,但可能会发生与上述相同的事情。
以太网环回插头: http ://www.tikkiweb.net/loopback
我做了一些研究,发现这个页面将以太网信号转换为光,并在环回配置中进行测试: http ://ronja.twibright.com/testing/ploss_tetrapolis_ping.php 。
不幸的是,这不是真正的 ping,因为您只会在 Wireshark/tcpdump 中看到两次相同的 ICMP 数据包。它确实保证了信号到达电线。