对于一个在工作中的项目,我需要能够通过将它们连接到“回送适配器插件”来testing各种以太网NIC,就像这个在生产assembly线上的各种embedded式Linux boxen上的一样。 我希望能够在一个以太网接口上设置两个不同的IP地址(AddressA和AddressB),然后从AddressA到AddressB运行ping。
Ex: ping -I AddressA AddressB
这甚至有可能吗?
另外,是否有一个testing可以使用环回插头仅在L2 / MAC地址级别testing以太网接口? 如果我回想起来,RealTek为他们的8139以太网适配器提供了一个诊断工具,它进行了仅仅L2的环回testing,我想知道是否有一个相同的linux工具。
更新:添加评论为什么我在上面的评论中testing框。 这个周末我将不得不尝试一些这些想法来看看会发生什么。 也许用一个keystonesockets+一个硬件存储器的一些连线做自己的“loopback适配器插头”,然后试着用示波器或逻辑分析仪来观察信号,以确保信号实际上是在接触线路。 由于这似乎比预期的更困难,我们的工作团队决定testingLinux boxen以太网端口,select一个小型家庭NAT路由器,然后ping路由器,并将其放入硬件testing夹具中。 不过,我对这个技术方面很感兴趣,并且想自己试验这个主题。
当然 :)
# ip address list dev eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:1e:4f:9b:4a:ab brd ff:ff:ff:ff:ff:ff inet 10.10.141.83/24 brd 10.10.141.255 scope global eth0 inet6 fe80::21e:4fff:fe9b:4aab/64 scope link valid_lft forever preferred_lft forever # ip address add 10.10.141.253/24 dev eth0 # ip address list dev eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:1e:4f:9b:4a:ab brd ff:ff:ff:ff:ff:ff inet 10.10.141.83/24 brd 10.10.141.255 scope global eth0 inet 10.10.141.253/24 scope global eth0 inet6 fe80::21e:4fff:fe9b:4aab/64 scope link valid_lft forever preferred_lft forever # ping -I 10.10.141.83 10.10.141.253 PING 10.10.141.253 (10.10.141.253) from 10.10.141.83 : 56(84) bytes of data. 64 bytes from 10.10.141.253: icmp_seq=1 ttl=64 time=0.050 ms 64 bytes from 10.10.141.253: icmp_seq=2 ttl=64 time=0.034 ms 64 bytes from 10.10.141.253: icmp_seq=3 ttl=64 time=0.038 ms ^C --- 10.10.141.253 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1999ms rtt min/avg/max/mdev = 0.034/0.040/0.050/0.010 ms # ip address delete 10.10.141.253/24 dev eth0 # ping -I 10.10.141.83 10.10.141.253 PING 10.10.141.253 (10.10.141.253) from 10.10.141.83 : 56(84) bytes of data. From 10.10.141.83 icmp_seq=1 Destination Host Unreachable From 10.10.141.83 icmp_seq=2 Destination Host Unreachable From 10.10.141.83 icmp_seq=3 Destination Host Unreachable ^C --- 10.10.141.253 ping statistics --- 4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3016ms
其实死了简单。 :)(只是开玩笑,如果你已经知道它总是很简单)
我不确定L2是否真的可以工作,但是ip neigh你应该能够修改arpcaching(这么简单)
你可能会发现arping更有可能碰到线路,因为这使用arp,因此完全避免了IP栈。
在这种情况下,它的怀疑信号将会实际上“碰到电线”。 由于设备将看到它的IP地址分配给一个接口,所有MAC查找/路由(如果两个接口在不同的子网中)将在系统本身中发生,并且不会触及物理接口。
环回连接器可以用来欺骗接口为'up',这样你就可以做这个testing,但是只要使用普通的电缆和一个备用的switchport就可以完成同样的事情。
如果您的意思是您将在同一个盒子中将eth0连接到eth1,那么您可以使用交叉电缆,但是同样的事情可能发生在上面。
以太网环回插头: http : //www.tikkiweb.net/loopback
我做了一些研究,并find了将以太网信号转换为光的页面,并在环回configuration中进行了testing: http : //ronja.twibright.com/testing/ploss_tetrapolis_ping.php 。
不幸的是,这不是一个真正的ping,因为你只能在Wireshark / tcpdump中看到两次相同的ICMP数据包。 它确实保证信号击中电线。