获取未知的静态IP地址

获取未知的静态IP地址

我的 Debian 挤压机物理连接到我的网络。这台机器有我不知道的静态IP地址。无法将显示器连接到该设备。连接到当前计算机的唯一可能性是 SSH。

我的 Windows 机器当前运行的网络配置是192.168.1.xxx/255.255.255.0.我知道,我正在尝试连接的该设备的 IP 以 开头162.168。如何知道我的设备的IP地址? Linux下有没有工具可以解决这个问题?

答案1

我想到了两个选择。

  1. 如果可以连接键盘盲登录。

    一旦进入系统,您就可以 ping 任何地址,并且小心地,您可以从另一个盒子嗅探网络以查找 arp 请求。您可以使用wiresharktshark其他一些嗅探工具。

    实际上,除非系统特别安静,否则它可能会尝试联系网络上的某些东西。特别是在启动过程中。无论如何,在这样的启动周期中嗅探网络中的 arp 请求是值得的。

  2. 将您的嗅探系统依次添加到每个 192.168.x.0/24 子网中 (x = 0..255)。

    nmap -sn对该子网上的所有设备运行(ping 扫描)。如果没有答案,请前进到下一个并重试。

    为了获得奖励积分,请使用两个不同的 IP 地址扫描每个子网两次,以确保您没有分配隐藏系统正在使用的相同 IP 地址。

答案2

用于nmap -sP 192.168.1.0/24查找响应 ping 的所有内容的 IP(如果此框没有,您必须阅读文档以nmap了解如何让它尝试 TCP 端口,我只记得它可以)。然后尝试每个您不知道的地址(或者如果您可以安全地做到这一点,请从您要查找的机器上拔下网络电缆,然后重复该命令,那么您应该能够看到它不再响应)。

答案3

当您声明连接到计算机的唯一方法是通过 SSH 时,这意味着该计算机具有已知的 IP(您不知道)或已知的名称。如果是这样,只需解析名称:

dig NameOfComputerToSSH

我以 dig 为例(也可能是dig +short name),但是还有许多其他工具可用,例如 getent、ip、nslookup、host 和还有很多

如果上述方法不能解决您的情况,那么: 当您声明:

物理连接到我的网络

这是否意味着该计算机能够与您的网络或 Internet 上的其他计算机进行通信?

如果是,那么它必须有 IP(IPv4 或 IPv6)。

  • 如果 IPv4您可以以用户身份
    (类似于)在级别 3(IP 级别)进行扫描。nmap -sn 192.168.1.1/24该命令示例将仅扫描该xxx.yyy.1.zzz段。对于所有段(正如您所说,您只知道前缀192.168),您将需要使用(非常非常慢,超过 1 小时),请注意尾随16

    nmap -sn 192.168.1.1/16
    

    如果您有 root 访问权限,nmap 可以使用相同的命令执行 ARP 扫描(更快,但仍在小时范围内),或者,您可以安装并尝试(默认网络速度的 65536 个 IP 大约需要 2 分 13 秒):

    arp-scan --localnet
    

或者,如果必须指定网段:apr-scan 192.168.11.11/16或类似的。

  • 如果 IPv6
    没有实用的方法可以在合理的时间内扫描本地网络中的现有计算机。 fe80::/64 有 2 64 个IP,这是 2 48 (281.474.976.710.656) 倍192.168.x.y范围(好吧,从技术上讲,范围是 fe80::/10,但后面必须跟有 54 个零,所以,这相当于到 /64)。那只是接口可能具有的 IP 范围(接口是多宿主的)。

    但是,有一个命令可以查找邻居(已处于活动状态):

    ip -6 neigh
    

答案4

使用路由器的客户端列表来确定 IP 地址。根据您的路由器型号,该页面可能看起来有所不同,但请使用以下作为我当前连接的示例:

  1. 登录路由器的配置页面。在你的情况下,这很可能是http://192.168.1.1
  2. 导航页面标题,直到看到类似于以下内容的页面:

冲浪板 SBG6782-AC 电缆调制解调器的 DHCP 客户端列表

您希望页面上有类似于蓝色框的内容,并且您正在寻找红色框中包含的信息。笔记:出于隐私原因,我已涂掉 MAC 地址和主机名列,但是需要一些侦探工作:


我总是建议用户在此类情况下设置合理的主机名,以便可以通过内存轻松扫描和匹配客户端列表。 MAC 地址不能以这种方式设置,但如果需要,可以对其进行欺骗。

相关内容