我有一个天线盘基座。看起来像这样的东西(只是其中之一)。最终基座将连接一个碟形天线。
这个底座有两个马达可水平和垂直旋转碟子。每个电机都有一个IP地址。为了讨论起见,我们假设它们是10.10.10.161和10.10.10.162
该公司(不能透露它)使基座提供Windows应用程序以通过以太网与基座通信(发送UDP数据包)。
我们尝试从Windows ping两个电机并没有问题。但是,当我们从Linux ping电机时,没有任何反应。
我们尝试在网上查找可能存在的问题,但没有找到任何合理的答案。为了解决我们的问题,我们的项目经理不允许我们联系基座制造商。我们必须首先找到问题的解释,然后我们可以让制造商知道问题所在。
之前是否有人遇到此类问题(能够从Windows ping但无法从Linux ping)?如果是,那么哇你解决了这个问题吗?我们缺少什么?
答案 0 :(得分:1)
以下是Windows与Linux ping
命令之间差异的说明。
注意:
tcpdump
数据包捕获从Windows执行ping操作时:
18:21:38.740379 IP 192.168.1.7 > 192.168.1.201: ICMP echo request, id 1, seq 3094, length 40
18:21:38.740433 IP 192.168.1.201 > 192.168.1.7: ICMP echo reply, id 1, seq 3094, length 40
从Linux ping:
18:29:44.152333 IP 192.168.1.201 > 192.168.1.7: ICMP echo request, id 11524, seq 1, length 64
18:29:44.152460 IP 192.168.1.7 > 192.168.1.201: ICMP echo reply, id 11524, seq 1, length 64
id
和seq
无关紧要。但是,length
是一个重大差异。
要使Linux在该方面与Windows匹配,您可以指定数据包大小(设置数据有效负载的大小,最多会增加8字节的开销)。
这个Linux命令:
$ ping 192.168.1.7 -s 32
此数据包捕获的结果:
18:30:59.528357 IP 192.168.1.201 > 192.168.1.7: ICMP echo request, id 11569, seq 2, length 40
18:30:59.528522 IP 192.168.1.7 > 192.168.1.201: ICMP echo reply, id 11569, seq 2, length 40
关于nmap
的使用,您可以使用-O
标记启用operating system detection feature。
$ nmap -O <target IP>