Есть ли команда поиска типа для поиска имен хостов?
Я работаю в большой сети с тысячами инструментов, и иногда мне бы хотелось использовать такую команду, как $locate --hostname dawar
найти информацию об IP-адресе и полном имени хоста компьютера (ов) с именем "dawar" в сети. Я написал небольшую программу, которая использует устаревшие функции C gethostsbyname и gethostsbyaddress, и я думаю, я мог бы написать в функции поиска. Но мне любопытно, есть ли подобная программа, которая может искать сервер имен,... которую мне не нужно писать.
В качестве альтернативы, что является неотрицательной функцией для эквивалентного gethostbyname в C?
Вот вывод nslookup, который я не хочу использовать, учитывая, как выглядит вывод;
nslookup 123.111.129.108
Server: 127.0.1.1
Address: 127.0.1.1#53
108.129.111.123.in-addr.arpa name = RM135.domain.
2 ответа
Взгляните на утилиту "копать"
> # dig google.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8753
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 120 IN A 209.85.202.100
google.com. 120 IN A 209.85.202.139
google.com. 120 IN A 209.85.202.102
google.com. 120 IN A 209.85.202.101
google.com. 120 IN A 209.85.202.113
google.com. 120 IN A 209.85.202.138
;; Query time: 1 msec
;; SERVER: 192.168.0.228#53(192.168.0.228)
;; WHEN: Thu Oct 27 14:43:06 2016
;; MSG SIZE rcvd: 124
nslookup dawar
или же getent hosts dawar
может служить вашей цели, в зависимости от конкретного варианта использования. Оба предполагают, что полное доменное имя может быть получено из поисковых доменов, указанных в /etc/resolv.conf
, nslookup
также можно сделать обратный поиск, но я не уверен насчет getent
, Там также более мощный dig
команда, и IIRC, а hosts
команда.