如果我想了解我的 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! (...)