LAN上のリモートLinuxマシンのホスト名がどのようになっているのかを知りたい場合、SSHなどを介してアクセスできない場合、どうすればこれを達成できますか?
おそらくLinuxがWINS=ドメインの一部であるかどうかに依存します。
hostnameという用語をより厳密に指定する必要があります。使用したくない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
他のサービスもマシンの名前についてのヒントを与えるかもしれません。
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
Fingerd(およびxinetd)はセットアップが簡単で、メンテナンスは不要です。
$ finger [email protected] [10.3.0.3:79] tryggve.lanでLinuxバージョン3.5.7-12-tryggveへようこそ! (...)