获取直连电脑的IP地址

Mel*_*ius 23 windows ethernet wired-networking

我已经使用直接以太网电缆将我的工作计算机与另一台计算机连接起来。另一台机器是台式计算机,没有连接外围设备(包括键盘、鼠标和显示器),我想使用 RDP 和 SMB 访问它。IP 地址是自动配置的,因此它会获取范围内的内容169.254.x.x

我可以等到 Windows 识别另一台机器或扫描 IP 地址,但这两者都需要很长时间且无法预测。有没有更快的方法来识别直接以太网电缆另一端的机器?我曾想过进行广播“以太网 ping”和反向 ARP,但找不到有关此技术的任何说明。

use*_*686 19

广播 IP ping 可能会起作用——并非所有系统都会响应它,但有些系统在 169.254 模式下会起作用。尝试ping 169.254.255.255-b在 Linux 上需要),或ping ff02::1ping6在 Linux 上需要,可能还有一个范围,例如ff02::1%eth0)。

nbtstat -a如果运行 Windows 并且您知道计算机名称,则直接发送 NetBIOS 名称查找(使用)可能会起作用。我不知道等效的 LLMNR。

169.254 自动配置涉及使用主机自己的地址发送一些 ARP 探测——您可以在 Wireshark、tshark、tcpdump 中看到这些。


“以太网 ping”存在,但仅适用于以太网级别,它不会告诉您有关 IP 的任何信息。(它有时在 NIC 本身中实现,但大多数情况下根本没有实现。)

“反向 ARP”也存在,但几乎从未真正实现过——它的主要用途被 BOOTP 和后来的 DHCP 所取代。

  • 当然,还有一种“极端”方法可以为所有 65024 个 IP 地址发送 ARP 请求,并查看您收到哪些回复。 (3认同)
  • IP ping 不起作用,但 `nbtstat -a <computer_name> -c` 提供了所需的 IP 地址!谢谢! (2认同)

Fer*_*big 9

当您将两台计算机连接在一起时,它们将尝试查找 DHCP 服务器。几秒钟后,请求将超时,计算机将为自己分配一个自动配置的地址。然后主机将随机分配一个本地链路 ip 地址并 通过网络广播arp 请求以查看它是否在使用中

以上是https://en.wikipedia.org/wiki/Link-local_address的重写总结

我们可以使用<any>数据包捕获工具来捕获这些数据包并打印这些 ARP 请求的 IP 地址。

使用wireshark GUI(所有平台)捕获arp数据包

  1. 在所有接口上捕获:是(或者,如果您了解它,请选择正确的接口)
  2. 捕获过滤器:arp
  3. 开始捕获并在右侧的列中查找您的电脑和其他电脑的 IP 地址

使用 cli tcpdump 捕获 arp 数据包(在 Linux 上测试)

  1. 启动/登录终端界面
  2. 运行程序“sudo tcpdump arp”
  3. 您的电脑和其他电脑的IP地址将显示在屏幕上


LPC*_*hip 6

如果您将机器配置为从 DHCP 服务器获取 IP 地址,那么显然网络中必须有 DHCP 服务器。鉴于您使用直接电缆(交叉)将两台计算机相互连接,没有 DHCP 服务器,因此 Windows 会创建一个虚假的随机 IP 地址。出于这个原因,需要很长时间才能找到彼此,因为没有服务器为您管理连接。

最好的方法是在组合中添加一个带有 DHCP 的路由器,因为它会显着加快速度。但是,如果您不想为此花钱,您的第二个最佳选择是手动配置两台机器上的 IP 地址,192.168.0.1192.168.0.2使用子网掩码255.255.255.0