linux - 在 Windows 和 Linux 上与网络设备通信

标签 linux windows networking

我有一个天线座。看起来像这样的东西(只是其中之一)。最终基座将连接一个碟形天线。

enter image description here

这个底座有两个电机,可以水平和垂直旋转盘子。每个电机都有一个 IP 地址。为了便于讨论,我们假设它们是 10.10.10.161 和 10.10.10.162

制造基座的公司(无法透露)提供了一个 Windows 应用程序,用于通过以太网与基座通信(发送 UDP 数据包)。

我们尝试从 Windows ping 两个电机,没有出现任何问题。然而,当我们从 Linux 对电机执行 ping 操作时,没有任何响应。

我们尝试在网上查找可能出现的问题,但没有找到任何合理的答案。更糟糕的是,我们的项目经理不允许我们联系基座制造商。我们必须先找到问题的解释,然后才能让制造商知道问题所在。

以前有人遇到过这种类型的问题吗(可以从 Windows ping 通,但无法从 Linux ping 通)?如果是,那么哇,您解决了这个问题吗?我们还缺少什么?

最佳答案

以下是 Windows 与 Linux ping 命令之间差异的说明。

注释:

  • Linux 系统 = 192.168.1.201
  • Windows 系统 = 192.168.1.7
  • 下面的输出来自 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

idseq 无关紧要。然而,长度是一个重大差异。

为了使 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>

关于linux - 在 Windows 和 Linux 上与网络设备通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50769785/

相关文章:

PHP mail() 不发送邮件

c++ - "cpp-bin"在linux中是什么意思?

linux - yocto 构建时出现 libva 版本错误

C# Windows 服务 XML

networking - 带宽延迟积

performance - 在 Windows 共享上编辑文件时,GVim 运行速度非常慢

linux - 如何在避免 'Too many arguments' 的同时进行 grep

c# - UWP应用程序不断抛出未经授权的访问异常

windows - 仅对一个应用程序启用带有 Schannel/WinSSL 的 FIPS 140-2

docker - 在 docker 容器外访问 vespa 的问题