$ ping www.ya.ru PING ya.ru (213.180.204.8) 56(84) bytes of data. From zero (192.168.0.1): icmp_seq=1 Redirect Host(New nexthop: 192.168.0.100) 64 bytes from ya.ru (213.180.204.8): icmp_seq=1 ttl=54 time=87.6 ms 64 bytes from ya.ru (213.180.204.8): icmp_seq=2 ttl=54 time=40.4 ms 64 bytes from ya.ru (213.180.204.8): icmp_seq=3 ttl=54 time=27.4 ms 64 bytes from ya.ru (213.180.204.8): icmp_seq=4 ttl=54 time=46.0 ms
--- ya.ru ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 7611ms rtt min/avg/max/mdev = 27.463/50.415/87.687/22.548 ms
ya.ru - имя узла.
Или ты хочешь, чтобы тебе по IP имя узла показывалось? Это вообщето невозможно, на одном IP может быть много имён. DNS позволяет узнать IP по имени узла, но ни как не наоборот.
Мне надо как раз наоборот по адресу видеть имя. В моей сети у одного компика только одно имя. Вот винда, например берет первое попавшееся в ДНС сервере имя, и лепит его в вывод команды.
whois 213.180.204.8
Может что-то показать. Если кто-то определяет домен по айпишнику, то это он делает только догадки. Думаю, можно посмотреть в какой подсети находится айпишник, как-нить узнать локальные днс сервера и спросить у них, но это может быть не совсем то. Например, по моему айпишнику (у меня прямой) домен определяется как host-77-41-28-184.qwerty.ru, хотя на меня зарегано еще несколько доменов.
dig -x
при условии что командв dig установлена, но при этом опрашивается опять же DNS сервер, и он должен быть настроен чтобы резолвить PTR записи.
PTR запись это обратный резолвинг
Узнать имя хоста по адресу можно несколькими способами. Речь идет об объединении проверки связи с хостом и выводе его имени. В винде команда ping делает это по умолчанию. Пусть не всегда в винде это работает правильно. Но все равно в этом есть польза. Вдруг пингуешь не тот узел который надо.
Нужна одна команда, которрая бы проверяла доступность узла, и к тому же выводила бы его имя. traceroute не катит, поскольку несколько медленно работает.
ping () { masked=`echo $1 | sed -E 's/[[:digit:]]+/x/g'` if [ "x$masked" = "xx.x.x.x" ] then host $1 && /sbin/ping $1 else /sbin/ping $1 fi }
1. /sbin/ping -- заменить на то, что выдает команда "which ping" в вашей системе;
2. добавить этот код куда-нить в ~/.profile или в ~/.bashrc (не уверен, фкуда именно это принято прописывать в Ubuntu, чтобы "подцеплялось" каждым новым терминалом);
P.S.: sorry за кривость. Было лениво искать для bash'а - как протестить матчится RegExp или нет.. Поэтому такой обходной маневр через $masked...
$ ping www.ya.ru
PING ya.ru (213.180.204.8) 56(84) bytes of data.
From zero (192.168.0.1): icmp_seq=1 Redirect Host(New nexthop: 192.168.0.100)
64 bytes from ya.ru (213.180.204.8): icmp_seq=1 ttl=54 time=87.6 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=2 ttl=54 time=40.4 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=3 ttl=54 time=27.4 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=4 ttl=54 time=46.0 ms
--- ya.ru ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7611ms
rtt min/avg/max/mdev = 27.463/50.415/87.687/22.548 ms
ya.ru - имя узла.
Или ты хочешь, чтобы тебе по IP имя узла показывалось? Это вообщето невозможно, на одном IP может быть много имён. DNS позволяет узнать IP по имени узла, но ни как не наоборот.
Мне надо как раз наоборот по адресу видеть имя. В моей сети у одного компика только одно имя. Вот винда, например берет первое попавшееся в ДНС сервере имя, и лепит его в вывод команды.
в винде оно можно посмотреть по nslookup. А вот насчет линукса я не скажу...
whois 213.180.204.8
Может что-то показать. Если кто-то определяет домен по айпишнику, то это он делает только догадки. Думаю, можно посмотреть в какой подсети находится айпишник, как-нить узнать локальные днс сервера и спросить у них, но это может быть не совсем то. Например, по моему айпишнику (у меня прямой) домен определяется как host-77-41-28-184.qwerty.ru, хотя на меня зарегано еще несколько доменов.
dig -x
при условии что командв dig установлена, но при этом опрашивается опять же DNS сервер, и он должен быть настроен чтобы резолвить PTR записи.
PTR запись это обратный резолвинг
Узнать имя хоста по адресу можно несколькими способами. Речь идет об объединении проверки связи с хостом и выводе его имени. В винде команда ping делает это по умолчанию. Пусть не всегда в винде это работает правильно. Но все равно в этом есть польза. Вдруг пингуешь не тот узел который надо.
host 192.168.1.1 выдаст тебе имя хоста по ип.
Нужна одна команда, которрая бы проверяла доступность узла, и к тому же выводила бы его имя. traceroute не катит, поскольку несколько медленно работает.
так написать скрипт, чтобы оно делало и пинг и хост
> DNS позволяет узнать IP по имени узла, но ни как не наоборот.
Есть host by address resolution, и есть address by host.. насколько я знаю.
"host" и "nslookup" работают "в обе стороны".
Получается, что винда более дружелюбная система :(
Конечно! за 200 дохлых президентов я тоже буду к тебе очень дружелюбным, ага.
ping () {
masked=`echo $1 | sed -E 's/[[:digit:]]+/x/g'`
if [ "x$masked" = "xx.x.x.x" ]
then
host $1 && /sbin/ping $1
else
/sbin/ping $1
fi
}
1. /sbin/ping -- заменить на то, что выдает команда "which ping" в вашей системе;
2. добавить этот код куда-нить в ~/.profile или в ~/.bashrc (не уверен, фкуда именно это принято прописывать в Ubuntu, чтобы "подцеплялось" каждым новым терминалом);
P.S.: sorry за кривость. Было лениво искать для bash'а - как протестить матчится RegExp или нет.. Поэтому такой обходной маневр через $masked...
Отправить комментарий