如何与具有固定 IP 地址的设备通信

如何与具有固定 IP 地址的设备通信

我有一个带以太网接口的配电单元,据称已将其配置为 IP 地址 200.200.100.1(它所在的网络不在公共互联网上)。那个旧网络已经不存在了,但我有一个交换机和一台运行 Windows 7 的笔记本电脑。我试图访问此 PDU 的配置页面,以便我可以更改一些设置(例如其 IP 地址)。到目前为止,我在尝试这样做时一直很烦恼,我将此归咎于我生疏的 IP 网络技能。

首先,我断开了笔记本电脑与互联网的连接,并将 PDU 和笔记本电脑插入交换机。我将笔记本电脑的 IP 硬编码为 200.200.100.2,子网掩码为 255.255.255.0。但很不幸,我无法 ping 通 200.200.100.1。

所以我认为问题要么在于 PDU 实际上设置为不同的 IP 地址,要么在于我根本不懂如何进行 IPv4 联网。如果是前者,我如何确定 PDU 认为它的 IP 地址是什么?如果是后者,我遗漏了什么?

答案1

当我遇到这种情况时,我通常会将笔记本电脑“背对背”地插入设备(中间没有交换机;我的笔记本电脑有一个自动 MDI-X(自动交叉)以太网端口,或者您可以使用交叉电缆)。然后,我会以混杂模式启动我最喜欢的嗅探器,并监听任何不是来自我的主机的数据包:

sudo tcpdump -i $INTERFACE -nevvv not ether src $MyMACAddress

...其中$INTERFACE是该以太网端口的接口标识符,通常en0在我的系统上,并且$MyMACAddress是该以太网端口的 MAC 地址。

然后,我会观察是否有任何流量,并查看其来自哪个 IP 地址和 MAC 地址。如果几秒钟内没有看到任何流量,我会尝试通过拔下并重新插入以太网电缆(大多数设备每次收到链接事件时都会发送一些流量)或对我正在处理的设备进行电源循环(大多数设备在启动时都会发送一些流量)来提示它。

如果您看到的都是来自 0.0.0.0 的 DHCP 请求,那么您就知道该设备已配置为 DHCP,甚至不知道如何处理 IPv4 链路本地地址(即 169.254.xx/16、自分配 IP 地址或 Microsoft-ese 中的“APIPA”)。扩展您的小型隔离网络以包含 DHCP 服务器,然后查看您的设备通过 DHCP 获得的 IP 地址租约(可能通过询问您的 DHCP 服务器它将哪些 IP 地址分配给哪些 MAC 地址)。

答案2

我想说你对 IPv4 的了解很好,而且你做了很好的尝试。但是,如果你真的不知道它的 IP,那么 ARP 和 DHCP 将无济于事。你需要一些高级的东西,比如 RARP(根据 MA​​C 找到 IP,与 ARP 相反)。

如果您的交换机也是路由器(例如无线路由器),它可能有自己的 Web 界面和 IP 工具可供您使用,而不必尝试让 tcpdump 在 Win 7 上运行(winpcap、tcpdump、wireshark、cygwin 等在 Win7 上可以运行,但对于新手来说并不好玩)。

这里有一个大胆的尝试:* 将 PDU 插入 WAN 端口

  • 将 PC 插入交换机端口(LAN 端)并让 PC 使用 DHCP

  • 尝试 ping 200.200.100.1,即使失败,也可能强制在 WAN 端进行 ARP(??)

  • 打开路由器 Web-UI,例如 192.168.1.1(请参阅路由器文档)

  • 尝试使用路由器网络工具来分析该 WAN 网络,或者至少看看是否可以找到其 MAC 地址?

但这可能也不起作用,因为您已经通过直接切换尝试有效地尝试了这一点。

而且很多设备永远不会响应PING,因此PING失败也就不足为奇了。

您知道它应该使用哪个端口吗?像以前一样将两个设备连接到交换机(使用 IP 和匹配的子网掩码),然后尝试以下操作:

telnet 200.200.100.1 80(80 是标准 HTTP 端口,您可能还需要从 Windows Ctrl 面板安装 Telnet 客户端)

如果出现空白屏幕,则表示连接成功!(多次按 Enter 键可返回提示符)

您可能需要检查您的 ARP 表。从命令行尝试此操作:C:\Windows\system32>arp -a 200.200.100.1

如果你得到:未找到 ARP 条目。

... 那么 ARP 失败了,您的设备可能不会使用该 IP 地址。不幸的是,除非您知道 IP,否则 ARP 不起作用。

但如果你得到:

互联网地址物理地址类型

200.200.100.1 48-55-35-45-55-4e 静态

然后您就成功发现该设备了。

相关内容