Яка команда знайти ім’я комп’ютера з урахуванням його IP-адреси?
Я завжди забуваю, що це за команда, але я знаю, що вона існує в Windows, і я припускаю, що вона існує в командному рядку * nix.
Яка команда знайти ім’я комп’ютера з урахуванням його IP-адреси?
Я завжди забуваю, що це за команда, але я знаю, що вона існує в Windows, і я припускаю, що вона існує в командному рядку * nix.
Відповіді:
копати і хостинг повинен бути тим, що ти шукаєш;)
http://www.unix.com/unix-dummies-questions-answers/9866-nslookup-linux.html
У системі * nix ви можете виконати цю команду:
dig -x [address]
Крім того, ви можете додати +short
в кінці dig
команди, щоб вивести лише результат dns.
У Windows використовуйтеnslookup
EDIT: також працює nslookup у * nix системах. Більше інформації про команду nslookup, чи здається, що вона була замінена з певного часу: http://linuxreviews.org/man/nslookup/
У режимі * nix ви можете використовувати:
dig -x [address]
dig -x [address] +short
+short
прапор справді корисний!
man dig
, Addr - це IPv4-адреса у крапково-десятковому позначенні або IPv6-адреса з обмеженою двокрапкою.
На це питання вже є мільйон відповідей, але я додам ще один. Ось невеличка функція, яку я написав для того, щоб легко робити зворотний DNS з dig. Додайте це до свого ~/.bashrc
файлу, перезавантажте оболонку, а потім ви зможете зробити зворотні пошуки DNS за допомогою revdns 1.2.3.4
:
function revdns() {
octets=""
addr="in-addr.arpa"
# split the IP address into an array of octets
IFS="." read -r -a octets <<< "$1"
# add each octet to our $addr string in reverse order
for octet in "${octets[@]}"; do
addr=$octet"."$addr
done
# run a DNS pointer lookup with dig
# `+short` makes dig's output very terse (un-verbose)
# `"${@:2}"` passes any extra params from this command to dig
dig ptr +short $addr "${@:2}"
}
Зворотні пошуки DNS здійснюються шляхом перевірки записів вказівника (PTR). Якщо ви хочете зробити зворотний DNS для "1.2.3.4", вам потрібно знайти записи вказівників для "4.3.2.1.in-addr.arpa". Моя функція приймає IP-адресу, повертає порядок октетів (тобто змінює її з 1.2.3.4 на 4.3.2.1), а потім використовує dig
для виконання щойно описаного нами пошуку PTR.
Звичайно, ви можете просто використовувати, nslookup 1.2.3.4
якщо у вас є, але я віддаю перевагу це рішення на основі копання, оскільки воно використовує DNS-сервери ОС, а не надані nslookup (якщо ви хочете, до речі, ви можете додати додаткові прапори копання коли ти зателефонуєш revdns
, і вони перейдуть копати)
dig -x dot-notation
- це "ярлик для зворотного пошуку". Мені було цікаво, якою буде довга версія. Дякуємо за пояснення! :)
man dig
: Коли використовується -x, не потрібно вказувати аргументи імені, класу та типу. dig автоматично виконує пошук імені типу 94.2.0.192.in-addr.arpa і встановлює тип запиту та клас відповідно PTR та IN відповідно.
Я добре знаю, що dig / host / nslookup є стандартними інструментами для цього, але я тримаю їх для тестування роздільної здатності ОС (по суті, для тестування nsswitch.conf працює правильно):
gethostbyname:
#!/usr/bin/perl
use Socket;
my @t = gethostbyname($ARGV[0]);
print "\$name = $t[0]\n"; shift(@t);
print "\$aliases = $t[0]\n"; shift(@t);
print "\$addrtype = $t[0]\n"; shift(@t);
print "\$length = $t[0]\n"; shift(@t);
foreach (@t) {
print " = ", inet_ntoa($_), "\n";
}
gethostbyaddr:
#!/usr/bin/perl
use Socket;
my @t = gethostbyaddr(inet_aton($ARGV[0]), AF_INET);
print "\$name = $t[0]\n"; shift(@t);
print "\$aliases = $t[0]\n"; shift(@t);
print "\$addrtype = $t[0]\n"; shift(@t);
print "\$length = $t[0]\n"; shift(@t);
foreach (@t) {
print " = ", inet_ntoa($_), "\n";
}
приклад:
g3 0 /home/jj33/swap > gethostbyname www.google.com
$name = www.l.google.com
$aliases = www.google.com
$addrtype = 2
$length = 4
= 72.14.205.147
= 72.14.205.103
= 72.14.205.104
= 72.14.205.99
g3 0 /home/jj33/swap > gethostbyaddr 72.14.205.147
$name = qb-in-f147.google.com
$aliases =
$addrtype = 2
$length = 4
= 72.14.205.147
Шукати вперед за допомогою host
:
$ host google-public-dns-b.google.com.
google-public-dns-b.google.com has address 8.8.4.4
google-public-dns-b.google.com has IPv6 address 2001:4860:4860::8844
Зворотний пошук за допомогою host
:
$ host 8.8.4.4
4.4.8.8.in-addr.arpa domain name pointer google-public-dns-b.google.com.
Шукати вперед за допомогою dig
:
$ dig google-public-dns-b.google.com. +short
8.8.4.4
Зворотний пошук за допомогою dig
:
$ dig -x 8.8.4.4 +short
google-public-dns-b.google.com.
Якщо ви використовуєте nslookup, це все (якщо вважати 192.168.0.1 як IP-адресу)
> set type=ptr
> 1.0.168.192.in-addr.arpa
РЕДАКТУВАННЯ: Пам'ятайте, що зворотний пошук працює лише в тому випадку, якщо для IP-адреси створена запис PTR, і повернення імені хоста, яке ви шукаєте, не гарантовано. Повністю залежить від того, як налаштовано та підтримується DNS у вашій ситуації.
Ну, якась доброзичлива людина щойно написала nslookup - це команда, і він правий. Він працює як на Unix, так і на Windows. Не знаєте, чому ви видалили свою відповідь, але ви правильні, сер.
Я віддаю перевагу копанню командного рядка для Windows (доступний тут: http://members.shaw.ca/nicholas.fong/dig/ ) перед nslookup будь-якого дня.
Якщо вам доведеться перевірити / адмініструвати DNS з робочої станції Windows, візьміть цей інструмент. Тоді:
C:\dig>dig -x <IP Address>
... також не забудьте додати c: \ dig на свій шлях!
drill
утилітою ldns, тобтоdrill -x 123.123.123.123