Если я хочу узнать, как называется имя хоста удаленной машины Linux в моей локальной сети, как я могу добиться этого, если у меня нет доступа через SSH и т.д.?
Вероятно, зависит, если Linux является частью домена WINS, я полагаю.
Если я хочу узнать, как называется имя хоста удаленной машины Linux в моей локальной сети, как я могу добиться этого, если у меня нет доступа через SSH и т.д.?
Вероятно, зависит, если Linux является частью домена WINS, я полагаю.
Вы должны были бы указать термин имя хоста более подробно. Если вы ищете имя, которое известно 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
Это зависит от того, настроен ли в вашей сети работающий DNS-сервер с необходимой информацией. Если это так, эта команда должна делать то, что вам нужно:
nslookup 1.2.3.4
или же
host 1.2.3.4
Наконец, еще одна полезная команда
arp -a
Fingerd (и xinetd) просты в настройке и не требуют обслуживания.
$ finger root@10.3.0.3 [10.3.0.3:79] Welcome to Linux version 3.5.7-12-tryggve at tryggve.lan ! (...)