![如果我只知道主机名,如何检索 IP](https://linux22.com/image/1419267/%E5%A6%82%E6%9E%9C%E6%88%91%E5%8F%AA%E7%9F%A5%E9%81%93%E4%B8%BB%E6%9C%BA%E5%90%8D%EF%BC%8C%E5%A6%82%E4%BD%95%E6%A3%80%E7%B4%A2%20IP.png)
我想在 Linux 机器上运行 nmap,但我只知道主机名。我在同一个网络上,但不知道该怎么做。我只想获得 IP,这样我就可以对其进行扫描。我究竟该如何实现这一点。我运行的是 Kali Linux
我已经查找了一些命令,但运气不佳。一个命令给出了一些结果,但我没有给出那台 Linux 机器的 IP 地址,所以我一定是忘了使用它,或者它不是我想要的命令。下面您将看到我已经尝试过的命令和输出。
主机名是 Epiphyte-ix
答案1
假设主机在 DNS 中...
host epiphyte-ix
或者
ping -c3 epiphyte-ix
或者简单地
nmap -v epiphyte-ix
但是,如果以上方法都不起作用,则主机可能不在 DNS 中,您必须通过其他方式找出 IP 地址。您对主机了解多少?例如,它是否打开了 SSH?网络上有多少台主机?如果只有少数几台,您可以跨nmap
子网寻找 SSH 服务器:
nmap -v -p22 10.0.1.0/24
(将 10.0.1.0/24 更改为您的子网地址范围)。
编辑
根据以下评论获取更多信息。
从物理位置获取它,假设您拥有您所声称的管理员访问权限......
- 访问老师办公室并记下网络墙上插座的标签(通常会有一个带有数字的贴纸)。
- 进入通信柜(这是配线架连接到网络交换机的地方)并找出墙上插座连接到哪个交换机和端口。
- 登录该交换机并获取连接到该端口的计算机的 MAC 地址。
- 登录到该子网的网关,从 ARP 表中找出与上述 MAC 地址对应的 IP 地址。
更多技巧...
- 用一个零配置浏览器(又名
avahi
,bonjour
等等 - 甚至有一些适用于 iPhone 和 Android 的,如Discovery
)并查看该名称是否通过 Zeroconf 进行宣传。 - 如果他从计算机向您发送电子邮件,请检查电子邮件标题并查看其来自哪个 IP。
- 检查DHCP 租约在 DHCP 服务器上 - 也许它发送了名称以从 DHCP 获取 IP 地址。
- 他可能正在使用 IPv6 - 在这种情况下,上述大部分内容仍然适用(可能除了 DHCP 位),只是地址不同。
- ETC...
有很多方法可以找到,而且没有“隐藏 IP 地址”之类的东西——如果他想访问互联网,他必须至少与网关对话。他能阻止网络上所有其他主机的访问(但我对此表示怀疑),但如果您可以访问网关,您可以在那里抓住他。
答案2
您应该能够从输出中读取您的 IP ifconfig
(可能需要超级用户访问权限)。此命令列出了您当前的所有接口及其配置。如果您在家中使用 IPv4 网络,您可能会发现您的 IP 看起来像 192.168.xx
通常,您可以将最后一个八位字节设置为零,并添加网络掩码以寻址整个网络。假设您的地址是 192.168.1.66。继续告诉 nmap 它应该对 192.168.1.0/24 运行扫描。这将捕获所有主机。在从 192.168.1.1 到 .255 的段中。这假设一个非常标准的网络布局。如果您的网络更复杂,您应该联系它的构建者。如果您在工作,请考虑大多数网络管理员不会喜欢有人未经许可扫描他们的网络。
顺便说一下。看看 zenmap。它是 nmap 的 GUI。可帮助您了解网络上节点之间的关系。
我希望这有用
悖论
如果你没有root权限,你可以尝试用host
或dig
命令来解析你的ip
答案3
根据主机名确定 IP 的直接方式是:
dig hostname.com
Nslookup 也能够工作。