У меня есть 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