【问题标题】:talking to a network device on windows and on linux在 Windows 和 linux 上与网络设备通话
【发布时间】:2018-06-09 00:08:31
【问题描述】:

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

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

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

我们尝试从 Windows ping 两个电机,没有任何问题。但是,当我们从 Linux ping 电机时,没有任何响应。

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

以前有没有人遇到过这种类型的问题(可以从 Windows ping 但不能从 Linux ping)?如果是,那么您是否解决了这个问题?我们缺少什么?

【问题讨论】:

  • SO 是针对编程问题,而不是关于使用或配置 Linux 及其应用程序的问题。 SuperUserUnix & Linux 将是解决此类问题的更好地方。
  • Linux 系统是否与基座在同一子网上?
  • 这和UDP有什么关系? Ping 不使用 UDP。
  • 但是你把它放在标题中,暗示这就是这个问题的内容。
  • 您是否尝试过嗅探 Windows 和 Linux 机器的流量以找出它们发送内容的差异/找到与电机通信的协议?

标签: linux windows networking


【解决方案1】:

这是 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 无关紧要。但是,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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 2014-10-27
    • 2016-08-12
    • 1970-01-01
    相关资源
    最近更新 更多