Назад | Перейти на главную страницу

Как получить список всех имен хостов / DNS в Linux

У меня есть Linux, и я знаю, что могу получить список IP-адресов, назначенных этому ящику, используя следующую команду /sbin/ifconfig -a но как мне получить список имен хостов / DNS для этого Linux-сервера с помощью одной команды?

Я спрашиваю об этом, потому что использую /sbin/ifconfig -a Я вижу, что к нему подключено ~ 6 ethernet-сетей, из которых 4 активны. Теперь все они имеют разные IP-адреса, поэтому у меня есть 4 разных IP-адреса для моего компьютера с Linux (поправьте меня, пожалуйста, если я здесь не прав ??). Теперь мой сервер приложений Weblogic определил адрес прослушивания как, скажем, abc.fb.us и xyz.fb.us и т.д. Теперь, когда я пингую каждое имя хоста (я должен звонить abc.fb.us как имя хоста или DNS или псевдоним ??) тогда я получаю IP-адрес, который отображается, когда я ifconfig.

Я знаю, что могу nslookup 172.22.33.11 и я получу abc.fb.us, предполагая, что это IP-адрес abc.fb.us.

Но я хочу получить список имен хостов с помощью одной команды, так же, как я получил список IP-адресов.

Я проверил свой /etc/hosts и у него нет abc.fb.us, xyz.fb.us и т.д., поэтому ясно, что есть другой способ настройки этих имен и как мне получить все имена хостов?

Вы не можете делать то, что хотите. Не существует единой команды, которая предоставила бы вам нужную информацию.

Кроме того, для одного IP-адреса может быть несколько записей пересылки (A), а также записи CNAME, все из которых являются именами хостов для системы.

Вы можете попробовать сбросить свою конфигурацию DNS и найти все записи с одинаковым IP-адресом, а затем выполнить поиск, чтобы увидеть, относятся ли какие-либо записи CNAME к именам записей A. Это непросто и уж точно не одна команда.

Вы вообще не можете получить эту информацию, по крайней мере, надежным и полным способом. Системе не нужно знать, какие имена DNS для какого домена указывают на нее.

Если записи PTR определены, вы можете получить их, как описано у Бреннена, но все остальное ненадежно.

Например, мне ничего не мешает настроить записи DNS для любой IP-адрес и попробуйте подключиться к адресу, используя эту запись DNS. Для большинства протоколов вы даже не подозреваете, что это произошло (HTTP является серьезным исключением, так как он передает имя хоста в HOST заголовок).

Этот лайнер будет работать:

ifconfig | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' | xargs -L1 host