Portál AbcLinuxu, 12. května 2025 04:29
Potřeboval bych jednoduchý způsob, jak zjistit hostname k daným IP adresám. Jednalo by se jak o linuxové, tak windowsové stroje. Nejvhodnější by bylo zpravocání bashovým shellem, ale přijímám i jiné řešení (PHP, C...). Díky
nslookup 1.2.3.4
Fajn. Tohle všechno sice krásně funguje, pokud je k dispozici DNS záznam, ale mě zajímá hostname.
pokud neni zaznam v DNS, tak to v podstate nepujde zjistit
mozna by se nasla cesta jak to zjistovat u stroju ve vlastni siti pomoci snmp, ale to je jako s kanonem na vrabce...
Určitě to jde. Například Mikrotik to zjistí.
Napadá mě ještě /etc/hosts
:
petr$ grep -F 192.168.100.101 /etc/hosts | awk '{ print $2; }' centos.local
nebo finger (volba -h), ale kdo ho dnes ještě používá, že?
/etc/hosts uplně ztrácí význam, protože si ho musim napsat ručně sám. Program finger jsem zkoušel, ale v té verzi kterou jsem našel já ani neobsahuje parametr -h. Ale v Manuálu to vypadalo slibně.
/etc/hosts uplně ztrácí význam, protože si ho musim napsat ručně sám.
Až budu umět nakonfigurovat vlastní doménu v ZeroConfu, pak pro mě /etc/hosts
také ztratí význam. Do té doby bude mým miláčkem.
Tak už jsem to vyřešil za pomoci programu nbtscan. Konkrétně:
nbtscan 10.0.0.1 | tail -1 | awk {´print $2´}
NetBIOSové jméno počítače je obecně něco jiného než hostname (i když jsou často stejná). Ono je vůbec hostname spíš lokální záležitostí, takže těžko půjde zjistit vzdáleně jinak, než že na daném stroji poběží služba, která vám ho na požádání sdělí. Tedy nepočítáme-li něco jako
ssh -l blabla 1.2.3.4 hostname
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.