如何在不使用 DNS 的情况下远程查找 Linux 主机名?

如何在不使用 DNS 的情况下远程查找 Linux 主机名?

如果我想了解我的 LAN 上的远程 Linux 机器的主机名,由于我无法通过 SSH 等方式访问,我该如何实现呢?

我想这可能取决于 Linux 是否是 WINS 域的一部分。

答案1

你必须指定术语主机名更接近。如果您正在寻找 DNS 服务器已知的名称,而您不想使用该名称 - 除了实际询问该 DNS 服务器之外,没有其他方法可以知道。

如果你只是猜测,nmap非常有用。例如,如果该服务器上有一个 smbd 正在运行,则输出nmap -A可能如下所示:

Host script results:
| smb-security-mode:
|   Account that was used for smb scripts: guest
|   User-level authentication
|   SMB Security: Challenge/response passwords supported
|_  Message signing disabled (dangerous, but default)
|_smbv2-enabled: Server doesn't support SMBv2 protocol
|_nbstat: NetBIOS name: FOOBAR, NetBIOS user: <unknown>, NetBIOS MAC: <unknown>
| smb-os-discovery:
|   OS: Unix (Samba 3.5.6)
|   Computer name: foobar
|   Domain name: lan
|   FQDN: foobar.lan
|   NetBIOS computer name:
|_  System time: 2013-03-14 17:02:27 UTC+1

其他服务也可能提供有关机器名称的提示。

答案2

在没有 DNS 服务器的情况下,这可能会起作用:

traceroute 1.2.3.4

或者,如果相关服务器正在导出 Samba 共享,您可以执行以下操作:

smbclient -L 1.2.3.4

这取决于您的 LAN 上是否设置了具有必要信息的有效 DNS 服务器。如果有,则此命令应该可以满足您的需要:

nslookup 1.2.3.4

或者

host 1.2.3.4

最后,另一个有用的命令是

arp -a

答案3

Fingerd(和 xinetd)易于设置并且不需要维护。

$手指[电子邮件保护]
[10.3.0.3:79]

欢迎使用 tryggve.lan 上的 Linux 版本 3.5.7-12-tryggve!
(...)

相关内容