Differences between revisions 4 and 8 (spanning 4 versions)
Revision 4 as of 2008-07-04 06:20:31
Size: 27571
Editor: PavelSutyrin
Comment: гыгы
Revision 8 as of 2008-07-08 23:08:05
Size: 47214
Editor: PavelSutyrin
Comment: добавлены тайпскрипты
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
файл /etc/resolv.conf, давайте на него посмотрим. В буквально
несколько строчек, как правило, следующего вида: либо Одни
файл /etc/resolv.conf, давайте на него посмотрим.
{{{
[root@vaio ~]# cat /etc/resolv.conf
# Generated by dhcpcd for interface eth0
search prov.ru
nameserver 194.190.241.162
nameserver 194.226.215.65
}}}

В нём буквально несколько строчек, как правило, следующего вида: либо Одни
Line 13: Line 21:
а мы посмотрим (..) Ну, попробуйте {{{host www}}}, а нет, {{{host}}} туда не а мы посмотрим (не работает) Ну, попробуйте {{{host www}}}, а нет, {{{host}}} туда не
Line 16: Line 24:
нифига себе, это что за номер. А, dns отвалился тем временем. У
них пинг-понг уже происходит где-то.... вот здесь, очень близко
нифига себе, это что за номер. А, dns отвалился тем временем.
{{{
[root@vaio ~]# traceroute -n 89.188.104.91
traceroute to 89.188.104.91 (89.188.104.91), 30 hops max, 40 byte packets
 1 192.168.200.1 (192.168.200.1) 2.161 ms 0.332 ms 0.150 ms
 2 194.190.241.161 (194.190.241.161) 1.125 ms 1.207 ms 13.370 ms
 3 194.85.37.65 (194.85.37.65) 0.604 ms 0.516 ms 0.568 ms
 4 194.85.40.53 (194.85.40.53) 195.165 ms 195.148 ms 191.842 ms
 5 89.188.100.189 (89.188.100.189) 0.801 ms 1.708 ms 1.848 ms
 6 217.65.1.242 (217.65.1.242) 1.108 ms 1.094 ms 1.971 ms
 7 89.188.104.91 (89.188.104.91) 1.248 ms 1.014 ms 1.021 ms
}}}
У них пинг-понг уже происходит где-то.... вот здесь, очень близко
Line 34: Line 53:
уровне, и часть кода чуть не от рута выполняется, поэтому в уровне, и часть кода чуть не от {{{root}}} выполняется, поэтому в
Line 37: Line 56:
для Альтлинукса) команда {{{update_chrooted all}}}. Эта команда записывает
целую кучу разных конфигурационных файлов из /etc в целую
для Альтлинукса) команда:
{{{
[root@vaio ~]#
update_chrooted all
}}}
Эта команда записывает целую кучу разных конфигурационных файлов из /etc в целую
Line 50: Line 72:
использует, можно посмотреть {{{ls /var/resolv/}}}. Что у нас есть?  {{{etc/}}},
посмотрим что там -- как раз те самые вещи, которые относятся к
использует, можно посмотреть.
{{{
[root@vaio ~]# ls /var/resolv/
etc lib var
}}}
Что у нас есть? {{{etc/}}}, посмотрим что там:
{{{
[root@vaio ~]# ls /var/resolv/etc/
host.conf hosts localtime nsswitch.conf resolv.conf services
}}}
как раз те самые вещи, которые относятся к
Line 53: Line 84:
switch (?), ничего не буду про него говорить, простая штука, но мимо switch, ничего не буду про него говорить, простая штука, но мимо
Line 55: Line 86:
туда скопировать, и файл их /etc/serviced (?), еще там есть библиотеки,
нужные для библиотеки resolver'а, libresolv, libnss, libnsl, я не знаю что это
такое.
поскольку многие службы у нас работают в изолированном
туда скопировать, и файл их /etc/services (?), еще там есть библиотеки ({{{lib/}}}:
{{{
[root@vaio ~]# ls /var/resolv/lib/
libnsl.so.1 libnss_hesiod.so.2 libnss_nis.so.2
libnss_dns.so.2 libnss_mdns4.so.2 libnss_nisplus.so.2
libnss_files.so.2 libnss_mdns4_minimal.so.2 libresolv.so.2
}}}

нужные для библиотеки resolver'а, сам libresolv, libnss, и libnsl,
(по поводу последнего)
я не знаю что это такое.
поскольку многие службы у нас работают в изолированном
Line 61: Line 99:
копируются, чтобы они туда копировались. ЭТо специфика альта. копируются, чтобы они туда копировались. Это специфика альта.
Line 86: Line 124:
Обратите внимание, обратное преобразование и здесь
(?) происходило, мы запустили программу {{{ping}}}, эта программа
Обратите внимание, обратное преобразование и здесь происходило:
{{{
[demo@vaio demo]$ ping www.ru
PING www.ru (194.87.0.50) 56(84) bytes of data.
From m10-1-gw.msk.runnet.ru (194.85.40.34) icmp_seq=1 Time to live exceeded
From m10-1-gw.msk.runnet.ru (194.85.40.34) icmp_seq=2 Time to live exceeded
From m10-1-gw.msk.runnet.ru (194.85.40.34) icmp_seq=3 Time to live exceeded
From m10-1-gw.msk.runnet.ru (194.85.40.34) icmp_seq=4 Time to live exceeded
}}}
мы запустили программу {{{ping}}}, эта программа
Line 90: Line 136:
превратила 194.85.40.34 в m10.gv1.msk.ranet.ru. Это вот такой пример неявного превратила {{{194.85.40.34}}} в {{{m10-1-gw.msk.runnet.ru}}}.
Это вот такой пример неявного
Line 94: Line 141:
существует три, но их еще не существует. Если вы найдете книжку, существует три, но третьей уже не существует. Если вы найдете книжку,
Line 99: Line 146:
устаревшую...", да, да, он deprecated, вы думайте, что делать.


Есть простейшая программа hostinfo, давайте скажем {{{hostinfo ya.ru}}},
устаревшую...", да, да, "он deprecated, вы думайте, что делать".

Есть простейшая программа hostinfo:
{{{
[demo@vaio demo]$
hostinfo ya.ru
 address: 213.180.204.8
hostname: ya.ru
 aliases:
}}}
Line 106: Line 158:
что эти имена есть у одного ip-шника. Более сложная программа
называется host, возможно, она не входит в стандартный состав
дистрибутивов. Лично лектор привык пользоваться программой
dig, которая занимается тем же самым. Входит dig в пакет bind-utils.
Давайте попробуем {{{dig ya.ru}}}. То что начинается с {{{;}}} --- это
что эти имена есть у этого одного ip-шника. Более сложная программа
называется {{{host}}}, возможно, она не входит в стандартный состав
дистрибутивов:
{{{
[demo@vaio demo]$ host -a ya.ru
Trying "ya.ru"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60336
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;ya.ru. IN ANY

;; ANSWER SECTION:
ya.ru. 7030 IN NS ns5.yandex.ru.
ya.ru. 7030 IN NS ns1.yandex.ru.
ya.ru. 7030 IN A 213.180.204.8

;; AUTHORITY SECTION:
ya.ru. 7030 IN NS ns5.yandex.ru.
ya.ru. 7030 IN NS ns1.yandex.ru.

;; ADDITIONAL SECTION:
ns5.yandex.ru. 345430 IN A 213.180.204.1
ns1.yandex.ru. 345430 IN A 213.180.193.1

Received 142 bytes from 194.190.241.162#53 in 66 ms
}}}

Лично лектор привык пользоваться программой dig,
которая занимается тем же самым. Входит dig в пакет bind-utils.
Давайте попробуем {{{dig ya.ru}}}:

{{{
[demo@vaio demo]$ dig ya.ru

; <<>> DiG 9.3.5 <<>> ya.ru
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50939
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;ya.ru. IN A

;; ANSWER SECTION:
ya.ru. 7012 IN A 213.180.204.8

;; AUTHORITY SECTION:
ya.ru. 7012 IN NS ns5.yandex.ru.
ya.ru. 7012 IN NS ns1.yandex.ru.

;; ADDITIONAL SECTION:
ns5.yandex.ru. 345412 IN A 213.180.204.1
ns1.yandex.ru. 345412 IN A 213.180.193.1

;; Query time: 6 msec
;; SERVER: 194.190.241.162#53(194.190.241.162)
;; WHEN: Thu Jul 3 17:54:40 2008
;; MSG SIZE rcvd: 114

}}}

 То что начинается с {{{;}}} --- это
Line 116: Line 226:
там не круглая малиновка. Да? round robin переводится как "круглая там не круглая малиновка. round robin переводится как "круглая
Line 124: Line 234:
resolv.conf. Мы можем вызвать команду {{{dig ya.ru @ns5.yandex.ru}}}, как видите,
разницы никакой, за исключением того, что вам ответил на запрос
resolv.conf. Мы можем вызвать команду {{{dig ya.ru @ns5.yandex.ru}}}:
{{{
[demo@vaio demo]$ dig ya.ru @ns5.yandex.ru

; <<>> DiG 9.3.5 <<>> ya.ru @ns5.yandex.ru
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54389
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0

;; QUESTION SECTION:
;ya.ru. IN A

;; ANSWER SECTION:
ya.ru. 7200 IN A 213.180.204.8

;; AUTHORITY SECTION:
ya.ru. 7200 IN NS ns1.yandex.ru.
ya.ru. 7200 IN NS ns5.yandex.ru.

;; Query time: 6 msec
;; SERVER: 213.180.204.1#53(213.180.204.1)
;; WHEN: Thu Jul 3 17:56:50 2008
;; MSG SIZE rcvd: 82
}}}
как видите, разницы никакой, за исключением того, что вам ответил на запрос
Line 129: Line 263:
вверх, напишите здесь что-нибудь вроде {{{cdrom.com}}}. Смотрите что он
сделал, он отказался обслуживать рекурсивный запрос, он говорит,
вверх, напишите здесь что-нибудь вроде {{{cdrom.com}}}:
{{{
[demo@vaio demo]$ dig cdrom.com @ns5.yandex.ru

; <<>> DiG 9.3.5 <<>> cdrom.com @ns5.yandex.ru
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 42056
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;cdrom.com. IN A

;; Query time: 6 msec
;; SERVER: 213.180.204.1#53(213.180.204.1)
;; WHEN: Thu Jul 3 17:57:19 2008
;; MSG SIZE rcvd: 27

}}}

Смотрите что он сделал, он отказался обслуживать рекурсивный запрос, он говорит,
Line 132: Line 285:
хотят отвечать на рекурсивные dns-запросы, исходящие из npg (?),
не относящиеся к яндексу.
хотят отвечать на рекурсивные dns-запросы, исходящие из npg (?), то есть от узлов, не относящихся к яндексу.
Line 138: Line 290:
{{{
[demo@vaio demo]$ dig cdrom.com

; <<>> DiG 9.3.5 <<>> cdrom.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58456
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;cdrom.com. IN A

;; AUTHORITY SECTION:
cdrom.com. 300 IN SOA cdrom.com. root.digitalriver.com. 2007100313 600 300 604800 300

;; Query time: 300 msec
;; SERVER: 194.190.241.162#53(194.190.241.162)
;; WHEN: Thu Jul 3 17:57:55 2008
;; MSG SIZE rcvd: 90

}}}
Line 143: Line 316:
{{{-t any}}} сказать, давайте скажем. В записи dns могут лежать записи {{{-t any}}} сказать, давайте скажем:
{{{
[demo@vaio demo]$ dig cdrom.com -t any

; <<>> DiG 9.3.5 <<>> cdrom.com -t any
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24171
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 3, ADDITIONAL: 4

;; QUESTION SECTION:
;cdrom.com. IN ANY

;; ANSWER SECTION:
cdrom.com. 3600 IN MX 10 pike.cdrom.com.
cdrom.com. 300 IN TXT "v=spf1 include:spf-dc1.digitalriver.com include:spf-dc2.digitalriver.com include:spf-dc7.digitalriver.com include:spf-dc5.digitalriver.com include:spf-dc6.digitalriver.com ~all"
cdrom.com. 0 IN SOA cdrom.com. root.digitalriver.com. 2007100313 600 300 604800 300

;; AUTHORITY SECTION:
cdrom.com. 172757 IN NS 3dns1.digitalriver.com.
cdrom.com. 172757 IN NS 3dns3.digitalriver.com.
cdrom.com. 172757 IN NS dc7dns01.digitalriver.com.

;; ADDITIONAL SECTION:
pike.cdrom.com. 3600 IN A 204.216.28.222
3dns1.digitalriver.com. 172757 IN A 208.217.74.35
3dns3.digitalriver.com. 172757 IN A 66.192.77.35
dc7dns01.digitalriver.com. 172757 IN A 81.21.144.40

;; Query time: 202 msec
;; SERVER: 194.190.241.162#53(194.190.241.162)
;; WHEN: Thu Jul 3 17:58:37 2008
;; MSG SIZE rcvd: 427

}}}
 В записи dns могут лежать записи
Line 147: Line 355:
у команды dig, а расскажите нам все про домен cdrom.com, сказали,
типа записи любой (-t any), попросили все записи, которые про
у команды dig, "а расскажите нам все про домен cdrom.com", сказали,
"типа записи любой" ({{{-t any}}}), попросили все записи, которые про
Line 151: Line 359:
сервера 10 (их может быть несколько), и он называется pipe.cdrom.com, сервера 10 (их может быть несколько), и он называется pike.cdrom.com,
Line 165: Line 373:
скажем dig -x на (вот этот вот адрес), а, ну как обычно оно опять скажем dig -x на (вот этот вот адрес)
{{{
[demo@vaio demo]$ dig -x 204.216.28.222

; <<>> DiG 9.3.5 <<>> -x 204.216.28.222
;; global options: printcmd
;; connection timed out; no servers could be reached
}}}
 а, ну как обычно оно опять
Line 167: Line 383:
попинать, работает... Давайте dig -x вот этому (?) скажем, ага. Ну,
плохо живется в жизни, ну вот, очень хорошо. Как видите, это
попинать..
{{{
[demo@vaio demo]$ ping ya.ru
PING ya.ru (213.180.204.8) 56(84) bytes of data.
64 bytes from ya.ru (213.180.204.8): icmp_seq=1 ttl=58 time=1.57 ms

}}}
работает... Давайте dig -x вот ему и скажем, ага:
{{{
[demo@vaio demo]$ dig -x 213.180.204.8

; <<>> DiG 9.3.5 <<>> -x 213.180.204.8
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2747
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;8.204.180.213.in-addr.arpa. IN PTR

;; ANSWER SECTION:
8.204.180.213.in-addr.arpa. 13746 IN PTR ya.ru.

;; AUTHORITY SECTION:
204.180.213.in-addr.arpa. 8820 IN NS ns1.yandex.net.
204.180.213.in-addr.arpa. 8820 IN NS ns2.yandex.net.

;; ADDITIONAL SECTION:
ns1.yandex.net. 64148 IN A 213.180.193.1
ns2.yandex.net. 64148 IN A 213.180.199.34

;; Query time: 6 msec
;; SERVER: 194.190.241.162#53(194.190.241.162)
;; WHEN: Thu Jul 3 18:02:26 2008
;; MSG SIZE rcvd: 141

}}}
Ну, плохо живется в жизни, ну вот, очень хорошо. Как видите, это
Line 188: Line 440:
кончается на inaddr_arpa (?), вот, и дальше у нее задом наперед идет кончается на inaddr-arpa (?), вот, и дальше у нее задом наперед идет
Line 191: Line 443:
а бывает 204.180.213.inaddr.arpa. Итак, про утилиты dig, host, hostinfo я рассказал. а бывает 204.180.213.in-addr.arpa.
Итак, про утилиты dig, host, hostinfo я рассказал.
Line 195: Line 448:
такой-то... ? Для этого есть служба whois. whois, допустим, ya.ru. Ну, нету
whois'а... А это пароль, типа сказать?...

(как там... 102.68.200.10 предлагаю сделать перерыв, или перерыв после
этого сделаем) ... это надо скопировать куда-нибудь, с этого
места скрипта никакого нет (ssh), так что скопируйте. Смотрите,
о чем я сейчас говорю.
такой-то... ? Для этого есть служба whois.
Line 212: Line 459:
домен второго уровня, там, за .ru, значит вот. В этом случае, когда домен второго уровня, там, за .ru. В этом случае, когда
Line 214: Line 461:
данных, доступную вот этому whois'у, в "информация о вас". Вот домен данных, доступную вот этому whois'у, в "информация о вас".
Сделаем {{{whois ya.ru}}}:
{{{
george@alt:~> whois ya.ru
% By submitting a query to RIPN's Whois Service
% you agree to abide by the following terms of use:
% http://www.ripn.net/about/servpol.html#3.2 (in Russian)
% http://www.ripn.net/about/en/servpol.html#3.2 (in English).

domain: YA.RU
type: CORPORATE
nserver: ns5.yandex.ru.
nserver: ns1.yandex.ru.
state: REGISTERED, DELEGATED
org: YANDEX, LLC.
phone: +7 495 7397000
fax-no: +7 495 7397070
e-mail: noc@yandex.net
registrar: RUCENTER-REG-RIPN
created: 1999.07.12
paid-till: 2008.08.01
source: TC-RIPN


Last updated on 2008.07.03 18:04:47 MSK/MSD

}}}


Вот домен
Line 220: Line 496:
все закиберсквоттим ya.ru, а, у них еще будет месяц, у него будет все закиберсквоттим ya.ru, а нет, у них еще будет месяц, у него будет
Line 223: Line 499:
адрес придет письмо?) Нет, гораздо интереснее, начнут туда адрес придет письмо?) Нет, гораздо интереснее, на этот адрес начнут
Line 228: Line 504:
google.com. А, ну умерло. А нет, оно.... wow.. слушайте, как тут много всего,
ну, спасибо гуглу. ... dns about.com... daddy.com.. какой-то шведский, что
google.com.
{{{
george@alt:~> whois google.com

Whois Server Version 2.0

Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

   Server Name: GOOGLE.COM.ZZZZZ.GET.LAID.AT.WWW.SWINGINGCOMMUNITY.COM
   IP Address: 69.41.185.195
   Registrar: INNERWISE, INC. D/B/A ITSYOURDOMAIN.COM
   Whois Server: whois.itsyourdomain.com
   Referral URL: http://www.itsyourdomain.com

   Server Name: GOOGLE.COM.ZOMBIED.AND.HACKED.BY.WWW.WEB-HACK.COM
   IP Address: 217.107.217.167
   Registrar: ONLINENIC, INC.
   Whois Server: whois.35.com
   Referral URL: http://www.OnlineNIC.com

   Server Name: GOOGLE.COM.YAHOO.COM.MYSPACE.COM.YOUTUBE.COM.FACEBOOK.COM.THEYSUCK.DNSABOUT.COM
   IP Address: 72.52.190.30
   Registrar: GODADDY.COM, INC.
   Whois Server: whois.godaddy.com
   Referral URL: http://registrar.godaddy.com

   Server Name: GOOGLE.COM.WORDT.DOOR.VEEL.WHTERS.GEBRUIKT.SERVERTJE.NET
   IP Address: 62.41.27.144
   Registrar: KEY-SYSTEMS GMBH
   Whois Server: whois.rrpproxy.net
   Referral URL: http://www.key-systems.net

   Server Name: GOOGLE.COM.VN
   Registrar: ONLINENIC, INC.
   Whois Server: whois.35.com
   Referral URL: http://www.OnlineNIC.com

   Server Name: GOOGLE.COM.UY
   Registrar: DIRECTI INTERNET SOLUTIONS PVT. LTD. D/B/A PUBLICDOMAINREGISTRY.COM
   Whois Server: whois.PublicDomainRegistry.com
   Referral URL: http://www.PublicDomainRegistry.com

   Server Name: GOOGLE.COM.UA
   Registrar: DIRECTI INTERNET SOLUTIONS PVT. LTD. D/B/A PUBLICDOMAINREGISTRY.COM
   Whois Server: whois.PublicDomainRegistry.com
   Referral URL: http://www.PublicDomainRegistry.com

   Server Name: GOOGLE.COM.TW
   Registrar: WEB COMMERCE COMMUNICATIONS LIMITED DBA WEBNIC.CC
   Whois Server: whois.webnic.cc
   Referral URL: http://www.webnic.cc

   Server Name: GOOGLE.COM.TR
   Registrar: DIRECTI INTERNET SOLUTIONS PVT. LTD. D/B/A PUBLICDOMAINREGISTRY.COM
   Whois Server: whois.PublicDomainRegistry.com
   Referral URL: http://www.PublicDomainRegistry.com

   Server Name: GOOGLE.COM.SUCKS.FIND.CRACKZ.WITH.SEARCH.GULLI.COM
   IP Address: 80.190.192.24
   Registrar: EPAG DOMAINSERVICES GMBH
   Whois Server: whois.enterprice.net
   Referral URL: http://www.enterprice.net

   Server Name: GOOGLE.COM.SPROSIUYANDEKSA.RU
   Registrar: MELBOURNE IT, LTD. D/B/A INTERNET NAMES WORLDWIDE
   Whois Server: whois.melbourneit.com
   Referral URL: http://www.melbourneit.com

   Server Name: GOOGLE.COM.SERVES.PR0N.FOR.ALLIYAH.NET
   IP Address: 84.255.209.69
   Registrar: GODADDY.COM, INC.
   Whois Server: whois.godaddy.com
   Referral URL: http://registrar.godaddy.com

   Server Name: GOOGLE.COM.SA
   Registrar: OMNIS NETWORK, LLC
   Whois Server: whois.omnis.com
   Referral URL: http://domains.omnis.com

   Server Name: GOOGLE.COM.PLZ.GIVE.A.PR8.TO.AUDIOTRACKER.NET
   IP Address: 213.251.184.30
   Registrar: OVH
   Whois Server: whois.ovh.com
   Referral URL: http://www.ovh.com

   Server Name: GOOGLE.COM.MX
   Registrar: DIRECTI INTERNET SOLUTIONS PVT. LTD. D/B/A PUBLICDOMAINREGISTRY.COM
   Whois Server: whois.PublicDomainRegistry.com
   Referral URL: http://www.PublicDomainRegistry.com

   Server Name: GOOGLE.COM.IS.NOT.HOSTED.BY.ACTIVEDOMAINDNS.NET
   IP Address: 217.148.161.5
   Registrar: ENOM, INC.
   Whois Server: whois.enom.com
   Referral URL: http://www.enom.com

   Server Name: GOOGLE.COM.IS.HOSTED.ON.PROFITHOSTING.NET
   IP Address: 66.49.213.213
   Registrar: NAME.COM LLC
   Whois Server: whois.name.com
   Referral URL: http://www.name.com

   Server Name: GOOGLE.COM.IS.APPROVED.BY.NUMEA.COM
   IP Address: 213.228.0.43
   Registrar: GANDI SAS
   Whois Server: whois.gandi.net
   Referral URL: http://www.gandi.net

   Server Name: GOOGLE.COM.DO
   Registrar: GODADDY.COM, INC.
   Whois Server: whois.godaddy.com
   Referral URL: http://registrar.godaddy.com

   Server Name: GOOGLE.COM.COLLEGELEARNER.COM
   IP Address: 72.14.207.99
   IP Address: 64.233.187.99
   IP Address: 64.233.167.99
   Registrar: GODADDY.COM, INC.
   Whois Server: whois.godaddy.com
   Referral URL: http://registrar.godaddy.com

   Server Name: GOOGLE.COM.CO
   Registrar: NAMESECURE.COM
   Whois Server: whois.namesecure.com
   Referral URL: http://www.namesecure.com

   Server Name: GOOGLE.COM.BR
   Registrar: ENOM, INC.
   Whois Server: whois.enom.com
   Referral URL: http://www.enom.com

   Server Name: GOOGLE.COM.BEYONDWHOIS.COM
   IP Address: 203.36.226.2
   Registrar: TUCOWS INC.
   Whois Server: whois.tucows.com
   Referral URL: http://domainhelp.opensrs.net

   Server Name: GOOGLE.COM.AU
   Registrar: PLANETDOMAIN PTY LTD.
   Whois Server: whois.planetdomain.com
   Referral URL: http://www.planetdomain.com

   Server Name: GOOGLE.COM.ACQUIRED.BY.CALITEC.NET
   IP Address: 85.190.27.2
   Registrar: ENOM, INC.
   Whois Server: whois.enom.com
   Referral URL: http://www.enom.com

   Domain Name: GOOGLE.COM
   Registrar: MARKMONITOR INC.
   Whois Server: whois.markmonitor.com
   Referral URL: http://www.markmonitor.com
   Name Server: NS1.GOOGLE.COM
   Name Server: NS2.GOOGLE.COM
   Name Server: NS3.GOOGLE.COM
   Name Server: NS4.GOOGLE.COM
   Status: clientDeleteProhibited
   Status: clientTransferProhibited
   Status: clientUpdateProhibited
   Updated Date: 10-apr-2006
   Creation Date: 15-sep-1997
   Expiration Date: 14-sep-2011

>>> Last update of whois database: Thu, 03 Jul 2008 10:11:09 EDT <<<

NOTICE: The expiration date displayed in this record is the date the
registrar's sponsorship of the domain name registration in the registry is
currently set to expire. This date does not necessarily reflect the expiration
date of the domain name registrant's agreement with the sponsoring
registrar. Users may consult the sponsoring registrar's Whois database to
view the registrar's reported date of expiration for this registration.

TERMS OF USE: You are not authorized to access or query our Whois
database through the use of electronic processes that are high-volume and
automated except as reasonably necessary to register domain names or
modify existing registrations; the Data in VeriSign Global Registry
Services' ("VeriSign") Whois database is provided by VeriSign for
information purposes only, and to assist persons in obtaining information
about or related to a domain name registration record. VeriSign does not
guarantee its accuracy. By submitting a Whois query, you agree to abide
by the following terms of use: You agree that you may use this Data only
for lawful purposes and that under no circumstances will you use this Data
to: (1) allow, enable, or otherwise support the transmission of mass
unsolicited, commercial advertising or solicitations via e-mail, telephone,
or facsimile; or (2) enable high volume, automated, electronic processes
that apply to VeriSign (or its computer systems). The compilation,
repackaging, dissemination or other use of this Data is expressly
prohibited without the prior written consent of VeriSign. You agree not to
use electronic processes that are automated and high-volume to access or
query the Whois database except as reasonably necessary to register
domain names or modify existing registrations. VeriSign reserves the right
to restrict your access to the Whois database in its sole discretion to ensure
operational stability. VeriSign may restrict or terminate your access to the
Whois database for failure to abide by these terms of use. VeriSign
reserves the right to modify these terms at any time.

The Registry database contains ONLY .COM, .NET, .EDU domains and
Registrars.
MarkMonitor.com - The Leader in Corporate Domain Management
----------------------------------------------------------
For Global Domain Consolidation, Research & Intelligence,
and Enterprise DNS, go to: www.markmonitor.com
----------------------------------------------------------

The Data in MarkMonitor.com's WHOIS database is provided by MarkMonitor.com
for information purposes, and to assist persons in obtaining information
about or related to a domain name registration record. MarkMonitor.com
does not guarantee its accuracy. By submitting a WHOIS query, you agree
that you will use this Data only for lawful purposes and that, under no
circumstances will you use this Data to: (1) allow, enable, or otherwise
support the transmission of mass unsolicited, commercial advertising or
solicitations via e-mail (spam); or (2) enable high volume, automated,
electronic processes that apply to MarkMonitor.com (or its systems).
MarkMonitor.com reserves the right to modify these terms at any time.
By submitting this query, you agree to abide by this policy.

Registrant:
        Dns Admin
        Google Inc.
        Please contact contact-admin@google.com 1600 Amphitheatre Parkway
         Mountain View CA 94043
        US
        dns-admin@google.com +1.6502530000 Fax: +1.6506188571

    Domain Name: google.com

        Registrar Name: Markmonitor.com
        Registrar Whois: whois.markmonitor.com
        Registrar Homepage: http://www.markmonitor.com

    Administrative Contact:
        DNS Admin
        Google Inc.
        1600 Amphitheatre Parkway
         Mountain View CA 94043
        US
        dns-admin@google.com +1.6506234000 Fax: +1.6506188571
    Technical Contact, Zone Contact:
        DNS Admin
        Google Inc.
        2400 E. Bayshore Pkwy
         Mountain View CA 94043
        US
        dns-admin@google.com +1.6503300100 Fax: +1.6506181499

    Created on..............: 1997-09-15.
    Expires on..............: 2011-09-13.
    Record last updated on..: 2008-06-08.

    Domain servers in listed order:

    ns1.google.com
    ns4.google.com
    ns3.google.com
    ns2.google.com
    

MarkMonitor.com - The Leader in Corporate Domain Management
----------------------------------------------------------
For Global Domain Consolidation, Research & Intelligence,
and Enterprise DNS, go to: www.markmonitor.com
----------------------------------------------------------
--
}}}
 А, ну умерло. А нет, оно.... вау.. слушайте, как тут много всего,
ну, спасибо гуглу. ... dns about.com... godaddy.com.. какой-то шведский, что
Line 239: Line 781:
сами придумали?.. Дальше, там будет настоящий. markmonitor, это он
и есть. Алгоритм выяснения этого whois'а достаточно непонятный,
сами придумали?.. Дальше, дальше, там будет настоящий. Вот он. markmonitor, это он
и есть.

Алгоритм выяснения этого whois'а достаточно непонятный,
Line 248: Line 792:
диапазоны выданы, давайте попробуем.

(62.117.86.102), не, ждем. во-первых, информация взята из RIPE, это русский
диапазоны выданы, давайте попробуем 62.117.86.102:

{{{
george@alt:~> whois 62.117.85.102
% This is the RIPE Whois query server #3.
% The objects are in RPSL format.
%
% Rights restricted by copyright.
% See http://www.ripe.net/db/copyright.html

% Note: This output has been filtered.
% To receive output for a database update, use the "-B" flag.

% Information related to '62.117.85.0 - 62.117.85.255'

inetnum: 62.117.85.0 - 62.117.85.255
netname: COMCOR-PROGTEH
descr: Network for ZAO NPO "Progteh"
country: RU
admin-c: CNA3-RIPE
tech-c: CNA3-RIPE
status: ASSIGNED PA
mnt-by: AS8732-MNT
source: RIPE # Filtered

person: Chicherov Nikolay Andreevich
e-mail: sysadmin@progtech.ru
address: Russia, Mosk. obl., g.Zhukovskiy, Amet-Han Sultana
phone: +7 495 824831031
mnt-by: AS8732-MNT
nic-hdl: CNA3-RIPE
source: RIPE # Filtered

% Information related to '62.117.64.0/18AS8732'

route: 62.117.64.0/18
descr: comcor.ru
origin: AS8732
mnt-by: AS8732-MNT
source: RIPE # Filtered

% Information related to '62.117.85.0/24AS35475'

route: 62.117.85.0/24
descr: Progtech ISP
origin: AS35475
mnt-by: AS8732-MNT
source: RIPE # Filtered


}}}


во-первых, информация взята из RIPE, это русский
Line 254: Line 849:
диапазон адресов /24 выдан ЗАО НПО ПРАКТЕХ, какой-то практех.ру, диапазон адресов /24 выдан ЗАО НПО ПРОГТЕХ, какой-то progteh.ru,
Line 272: Line 867:
|| 20 || 1 || 1 || 1 || || 1 || PavelSutyrin (расшифровка завершена), DmitryChistikov || || || || 20 || 1 || 1 || 1 || || 1 || PavelSutyrin, DmitryChistikov || || ||

Преобразование имён и IP-адресов: практика

{01:17:35}

Теперь обратимся к тому, как это работает в альте. Есть файл /etc/resolv.conf, давайте на него посмотрим.

[root@vaio ~]# cat /etc/resolv.conf
# Generated by dhcpcd for interface eth0
search prov.ru
nameserver 194.190.241.162
nameserver 194.226.215.65

В нём буквально несколько строчек, как правило, следующего вида: либо Одни search имя_домена, либо nameserver ip-адрес. Это значит, что преобразование доменного имени в ip-адрес будет происходить следующим образом: : если вы указали не полное доменное имя, а какое-то имя домена, имя, то к нему будет приделана строчка, в данном случае, prov.ru, (Максим, скажите что-нибудь типа ping www, а мы посмотрим (не работает) Ну, попробуйте host www, а нет, host туда не ходит, он сразу к nameserver'у ходит. Опять у информики отвалилась крыша. Скажите ip r. Откройте traceroute, посмотрим... -l, ух, нифига себе, это что за номер. А, dns отвалился тем временем.

[root@vaio ~]# traceroute -n 89.188.104.91
traceroute to 89.188.104.91 (89.188.104.91), 30 hops max, 40 byte packets
 1  192.168.200.1 (192.168.200.1) 2.161 ms  0.332 ms  0.150 ms
 2  194.190.241.161 (194.190.241.161) 1.125 ms  1.207 ms  13.370 ms
 3  194.85.37.65 (194.85.37.65) 0.604 ms  0.516 ms  0.568 ms
 4  194.85.40.53 (194.85.40.53) 195.165 ms  195.148 ms  191.842 ms
 5  89.188.100.189 (89.188.100.189) 0.801 ms  1.708 ms  1.848 ms
 6  217.65.1.242 (217.65.1.242) 1.108 ms  1.094 ms  1.971 ms
 7  89.188.104.91 (89.188.104.91) 1.248 ms  1.014 ms  1.021 ms

У них пинг-понг уже происходит где-то.... вот здесь, очень близко (третий, что ли, хоп).

Да, почему это вообще файл: Мы вот запускали кучу программ: броузер, ping, telnet, мы запускали кучу разных утилит, неужели они все ходят в один и тот же файл, чтобы произвести эту самую подстановку?.. На самом деле, это делает некая библиотека, с которой все эти утилиты как она скомпилированы. Т.е., преобразование адресов в обе стороны --- это дело, на самом деле, некой библиотеки, которая называется libresolv или попросту resolver, и большое достоинство Линукс как раз в том и состоит, что поскольку все программы свободные, то мы можем один раз написать вот этот вот алгоритм превращения, и потом все программы будут этим пользоваться, просто при компиляции мы собираем... (...) А это одно и то же, да.. ну да, линкуется он динамически.

Есть некая тонкость с libresolv, он работает на довольно низком уровне, и часть кода чуть не от root выполняется, поэтому в альтлинуксе такая специфика: resolver вынесен в изолированное окружение, и для обновления конфигов есть alt-specific (характерная для Альтлинукса) команда:

[root@vaio ~]# update_chrooted all

Эта команда записывает целую кучу разных конфигурационных файлов из /etc в целую кучу изолированных окружений, где их хотят. В альтлинуксе используется сразу несколько изолированных окружений для разных служб, которые потенциально могут быть опасны, и ребята, которые занимаются security попросту не уверены, что они до конца прочитали и выучили наизусть весь исходный код, чтобы понять, что там нет никаких ошибок, поэтому на всякий случай они их.. ребята, да, Дима Левин, поэтому он на всякий случай запихнул системную службу в изолированное окружение, и, поскольку запущенная в изолированном окружении программа ничего не видит, кроме каталога, в котором она запущена и подкаталогов его, то туда-то как раз и надо копировать. Для того, чтобы увидеть, что он использует, можно посмотреть.

[root@vaio ~]# ls /var/resolv/
etc  lib  var

Что у нас есть? etc/, посмотрим что там:

[root@vaio ~]# ls /var/resolv/etc/
host.conf  hosts  localtime  nsswitch.conf  resolv.conf  services

как раз те самые вещи, которые относятся к процедуре преобразования адресов, hosts, localtime понятно почему, namespace switch, ничего не буду про него говорить, простая штука, но мимо темы, файл resolv.conf, который, если бы мы его меняли, пришлось бы его туда скопировать, и файл их /etc/services (?), еще там есть библиотеки (lib/:

[root@vaio ~]# ls /var/resolv/lib/
libnsl.so.1        libnss_hesiod.so.2         libnss_nis.so.2
libnss_dns.so.2    libnss_mdns4.so.2          libnss_nisplus.so.2
libnss_files.so.2  libnss_mdns4_minimal.so.2  libresolv.so.2

нужные для библиотеки resolver'а, сам libresolv, libnss, и libnsl, (по поводу последнего) я не знаю что это такое. поскольку многие службы у нас работают в изолированном окружении, так и resolver, и наша задача регулярно, когда мы меняем один из этих конфигурационных файлов, выполнять командочку update_chrooted all и update_chrooted conf, потому что там еще библиотеки копируются, чтобы они туда копировались. Это специфика альта.

{01:27:20}

Теперь посмотрим, как работает dns-запрос. Стоп, сейчас мы все сделаем. У нас, как мы говорили, есть libresolv и подсистема резолверов, которой пользуются разные программы, типа ping'а или того же самого firefox'а для преобразования адресов. Кстати сказать, есть задача не только преобразования доменного имени в ip-адрес, но и задача обратного преобразования ip-адреса в доменное имя. Это бывает нужно, например, в случае, когда происходит какая-то нежелательная сетевая активность с какого-то ip, и хочется понять, что за сайт стоит за этим айпишником. Например, пересылка почты. Например, мы хотим пересылать почту только для таких-то доменов, вплоть до своего собственного, при этом именно для доменов, для тех машин, которые мы сами зарегистрировали, ну у этих доменов могут быть довольно разнообразные ip-адреса. Вот происходит подключение с какого-то ip-адреса, вот разрешать этому почтовому клиенту пересылать почту, или нет? Ответ очень простой, давайте выясним его доменное имя, и в зависимости от этого доменного имени выясним, разрешить ему это делать, или нет.

(dns прочухался, или закэшировался, попробуйте ya.ru сказать... интернет прочухался не весь, ну ладно)

Обратите внимание, обратное преобразование и здесь происходило:

[demo@vaio demo]$ ping www.ru
PING www.ru (194.87.0.50) 56(84) bytes of data.
From m10-1-gw.msk.runnet.ru (194.85.40.34) icmp_seq=1 Time to live exceeded
From m10-1-gw.msk.runnet.ru (194.85.40.34) icmp_seq=2 Time to live exceeded
From m10-1-gw.msk.runnet.ru (194.85.40.34) icmp_seq=3 Time to live exceeded
From m10-1-gw.msk.runnet.ru (194.85.40.34) icmp_seq=4 Time to live exceeded

мы запустили программу ping, эта программа получила некоторый icmp ответ от 194.85.40.34, и специально для нас она произвела обратное преобразование адресов и превратила 194.85.40.34 в m10-1-gw.msk.runnet.ru. Это вот такой пример неявного обратного преобразования адресов, который делают за нас, не по нашей просьбе. Существует две утилиты (на самом деле, их больше), используются (явно) для преобразования адресов. Их существует три, но третьей уже не существует. Если вы найдете книжку, в которой вам порекомендуют для явного преобразования адресов воспользоваться утилитой nslookup, знайте, что это устаревшая штука, nslookup'а уже нет. Некоторое время он в альте был, но он запускался с предупреждением, что "а вы знаете, что вы запускаете устаревшую...", да, да, "он deprecated, вы думайте, что делать".

Есть простейшая программа hostinfo:

[demo@vaio demo]$ hostinfo ya.ru
 address: 213.180.204.8
hostname: ya.ru
 aliases: 

которая выводит простейшую. информацию о ya.ru, она выводит на него также и алиасы и tcname'ы, то есть, если в сети несколько имен у одной машины, то она может узнать, а может и не узнать, что эти имена есть у этого одного ip-шника. Более сложная программа называется host, возможно, она не входит в стандартный состав дистрибутивов:

[demo@vaio demo]$ host -a ya.ru
Trying "ya.ru"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60336
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;ya.ru.                         IN      ANY

;; ANSWER SECTION:
ya.ru.                  7030    IN      NS      ns5.yandex.ru.
ya.ru.                  7030    IN      NS      ns1.yandex.ru.
ya.ru.                  7030    IN      A       213.180.204.8

;; AUTHORITY SECTION:
ya.ru.                  7030    IN      NS      ns5.yandex.ru.
ya.ru.                  7030    IN      NS      ns1.yandex.ru.

;; ADDITIONAL SECTION:
ns5.yandex.ru.          345430  IN      A       213.180.204.1
ns1.yandex.ru.          345430  IN      A       213.180.193.1

Received 142 bytes from 194.190.241.162#53 in 66 ms

Лично лектор привык пользоваться программой dig, которая занимается тем же самым. Входит dig в пакет bind-utils. Давайте попробуем dig ya.ru:

[demo@vaio demo]$ dig ya.ru

; <<>> DiG 9.3.5 <<>> ya.ru
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50939
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;ya.ru.                         IN      A

;; ANSWER SECTION:
ya.ru.                  7012    IN      A       213.180.204.8

;; AUTHORITY SECTION:
ya.ru.                  7012    IN      NS      ns5.yandex.ru.
ya.ru.                  7012    IN      NS      ns1.yandex.ru.

;; ADDITIONAL SECTION:
ns5.yandex.ru.          345412  IN      A       213.180.204.1
ns1.yandex.ru.          345412  IN      A       213.180.193.1

;; Query time: 6 msec
;; SERVER: 194.190.241.162#53(194.190.241.162)
;; WHEN: Thu Jul  3 17:54:40 2008
;; MSG SIZE  rcvd: 114
  • То что начинается с ; --- это

комментарий. Формат выдачи соответствует формату хранения этих данных в этой вот распределенной базе данных DNS. Мы видим, что у адреса ya.ru есть ip-шник, вот он, мы видим, что за зону ya.ru отвечают два доменных сервера, (первый и пятый) Ну, на самом деле их больше, но здесь два. Да, может быть там круглая малиновка, нет там не круглая малиновка. round robin переводится как "круглая малиновка", шарообразная малиновка, сферическая... На всякий случай dig рассказала вам, какие ip-адреса у этих ns-серверов, кстати, идея относительно зон класса B подтверждается, явно две разных сети класса B, и еще всякую статистику вывела в комментариях, сколько времени это происходило, кто на самом деле ответил на этот запрос, обратите внимание, ответил на этот вопрос наш сервер локальный, который мы сами прописали в resolv.conf. Мы можем вызвать команду dig ya.ru @ns5.yandex.ru:

[demo@vaio demo]$ dig ya.ru @ns5.yandex.ru

; <<>> DiG 9.3.5 <<>> ya.ru @ns5.yandex.ru
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54389
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0

;; QUESTION SECTION:
;ya.ru.                         IN      A

;; ANSWER SECTION:
ya.ru.                  7200    IN      A       213.180.204.8

;; AUTHORITY SECTION:
ya.ru.                  7200    IN      NS      ns1.yandex.ru.
ya.ru.                  7200    IN      NS      ns5.yandex.ru.

;; Query time: 6 msec
;; SERVER: 213.180.204.1#53(213.180.204.1)
;; WHEN: Thu Jul  3 17:56:50 2008
;; MSG SIZE  rcvd: 82

как видите, разницы никакой, за исключением того, что вам ответил на запрос сам сервер ns5.yandex.ru. Этот как раз та самая ситуация, когда мы с запросом обратились непосредственно к dns-серверу. Давайте попробуем обратиться к нему с рекурсивным запросом, стрелка вверх, напишите здесь что-нибудь вроде cdrom.com:

[demo@vaio demo]$ dig cdrom.com @ns5.yandex.ru

; <<>> DiG 9.3.5 <<>> cdrom.com @ns5.yandex.ru
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 42056
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;cdrom.com.                     IN      A

;; Query time: 6 msec
;; SERVER: 213.180.204.1#53(213.180.204.1)
;; WHEN: Thu Jul  3 17:57:19 2008
;; MSG SIZE  rcvd: 27

Смотрите что он сделал, он отказался обслуживать рекурсивный запрос, он говорит, "не знаю". Почему? Потому что ребята из яндекса совершенно не хотят отвечать на рекурсивные dns-запросы, исходящие из npg (?), то есть от узлов, не относящихся к яндексу.

{01:35:42}

А если мы уберем эту блямбу и обратимся к местному серверу,

[demo@vaio demo]$ dig cdrom.com 

; <<>> DiG 9.3.5 <<>> cdrom.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58456
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;cdrom.com.                     IN      A

;; AUTHORITY SECTION:
cdrom.com.              300     IN      SOA     cdrom.com. root.digitalriver.com. 2007100313 600 300 604800 300

;; Query time: 300 msec
;; SERVER: 194.190.241.162#53(194.190.241.162)
;; WHEN: Thu Jul  3 17:57:55 2008
;; MSG SIZE  rcvd: 90

то он подумал, аж три секунды, нет, три десятых секунды думал, нашел что домен такой есть, а ip-адреса у него нет. Кстати, это тоже полезная информация. Смотрите, ip-адреса, соответствующего этому доменному имени, не существует, зато существует сам домен. О чем это нам говорит надпись SOA state of authority (?). А это надо -t any сказать, давайте скажем:

[demo@vaio demo]$ dig cdrom.com -t any

; <<>> DiG 9.3.5 <<>> cdrom.com -t any
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24171
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 3, ADDITIONAL: 4

;; QUESTION SECTION:
;cdrom.com.                     IN      ANY

;; ANSWER SECTION:
cdrom.com.              3600    IN      MX      10 pike.cdrom.com.
cdrom.com.              300     IN      TXT     "v=spf1 include:spf-dc1.digitalriver.com include:spf-dc2.digitalriver.com include:spf-dc7.digitalriver.com include:spf-dc5.digitalriver.com include:spf-dc6.digitalriver.com ~all"
cdrom.com.              0       IN      SOA     cdrom.com. root.digitalriver.com. 2007100313 600 300 604800 300

;; AUTHORITY SECTION:
cdrom.com.              172757  IN      NS      3dns1.digitalriver.com.
cdrom.com.              172757  IN      NS      3dns3.digitalriver.com.
cdrom.com.              172757  IN      NS      dc7dns01.digitalriver.com.

;; ADDITIONAL SECTION:
pike.cdrom.com.         3600    IN      A       204.216.28.222
3dns1.digitalriver.com. 172757  IN      A       208.217.74.35
3dns3.digitalriver.com. 172757  IN      A       66.192.77.35
dc7dns01.digitalriver.com. 172757 IN    A       81.21.144.40

;; Query time: 202 msec
;; SERVER: 194.190.241.162#53(194.190.241.162)
;; WHEN: Thu Jul  3 17:58:37 2008
;; MSG SIZE  rcvd: 427
  • В записи dns могут лежать записи

любого вида. Запись типа A (адрес) --- это одна из многих возможных записей. Какие еще записи лежат? Во-первых, это мы уже видели много раз, записи типа NS, адреса nameserver'ов, когда мы спросили у команды dig, "а расскажите нам все про домен cdrom.com", сказали, "типа записи любой" (-t any), попросили все записи, которые про него существуют. Ну, например, оказывается у cdrom.com есть машина, которая пересылает почту, MX, mail exchanger. Приоритет у этого почтового сервера 10 (их может быть несколько), и он называется pike.cdrom.com, дальше выбирайте сами. Кстати, dig нам для этого его подумал (?), вот. Во-вторых, у домена cdrom.com есть запись типа TXT, в которой хранится вот такая штука. ЭТо SPF, гадость. Ну, лежит, какой-то текст, этому делу ассоциированный. В третьих, у домена cdrom.com есть запись типа SOA, state of authority, которая определяет вот эти числа, те самые время жизни, время обновления, и т.п., расшифровывать не будут, это серийный номер 2007100313, похоже, на дату похоже, да, это удобно, когда зону меняешь, текущую дату вписываешь и тем самым этот серийный номер все время увеличивается, а дальше там время жизни, время последнего обновления, время жизни всего домена, и т.п. А дальше дополнительная информация. Оказывается, относительно домена cdrom.com у нас лежит аж три типа записей -- MX, TXT, SOA, Давайте мы с помощью dig сделаем обратно преобразование, скажем dig -x на (вот этот вот адрес)

[demo@vaio demo]$ dig -x 204.216.28.222

; <<>> DiG 9.3.5 <<>> -x 204.216.28.222
;; global options:  printcmd
;; connection timed out; no servers could be reached
  • а, ну как обычно оно опять

умерло. Да ладно, почтовик, давайте попробуем кого-нибудь попинать..

[demo@vaio demo]$ ping ya.ru
PING ya.ru (213.180.204.8) 56(84) bytes of data.
64 bytes from ya.ru (213.180.204.8): icmp_seq=1 ttl=58 time=1.57 ms

работает... Давайте dig -x вот ему и скажем, ага:

[demo@vaio demo]$ dig -x 213.180.204.8

; <<>> DiG 9.3.5 <<>> -x 213.180.204.8
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2747
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;8.204.180.213.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
8.204.180.213.in-addr.arpa. 13746 IN    PTR     ya.ru.

;; AUTHORITY SECTION:
204.180.213.in-addr.arpa. 8820  IN      NS      ns1.yandex.net.
204.180.213.in-addr.arpa. 8820  IN      NS      ns2.yandex.net.

;; ADDITIONAL SECTION:
ns1.yandex.net.         64148   IN      A       213.180.193.1
ns2.yandex.net.         64148   IN      A       213.180.199.34

;; Query time: 6 msec
;; SERVER: 194.190.241.162#53(194.190.241.162)
;; WHEN: Thu Jul  3 18:02:26 2008
;; MSG SIZE  rcvd: 141

Ну, плохо живется в жизни, ну вот, очень хорошо. Как видите, это совсем другая база, в которой лежат обратные соответствия, т.е. ip-адресов именам, тип этот называется ptr, от слова pointer, самое забавное, в какой форме представляются ip-адреса, особенно те, кто не знает, посмотрите внимательно, найдите четыре сходства между тем ip-адресом, который мы в команде dig использовали, и вот этой штукой. Вот кто не в курсе, тем будет интересно. Все заметили, что это такое? Это этот ip-адрес, записанный задом наперед. Почему так?.. Дело в том, какому алгоритму раздаются диапазоны адресов, Нам скорее всего, раздадутся адреса, допустим, 213.180/16. Это значит, что ответственный за этот домен, которому выдали 213.180/16, он будет обязан отвечать на запросы типа dig -x, то есть типа ptr, для всех этих 65 тысяч компьютеров. Как это вместить в базу данных dns, которая устроена задом наперед, она должна seek'ать в обе стороны, nc.cs.msu.su, imap.cs.msu.su. Да очень просто, записать задом наперед 8.204.180.213, потом взять оторвать от него половину, ну здесь была не половина, а последний байт, это означает что у нас есть некий сервер, который отвечает за диапазон адресов 213.180.204.0/24, и вот именно он нам ответил, ns1.yandex.net нам ответил. Авторитарный, вот он. То есть, вот такая зона, которая хранит эти самые адреса, всегда кончается на inaddr-arpa (?), вот, и дальше у нее задом наперед идет прописанный адрес соответствующего... идея состоит в том, что вот у нас домен, вот это вот домен, какая разница? бывает cs.msu.su, а бывает 204.180.213.in-addr.arpa. Итак, про утилиты dig, host, hostinfo я рассказал.

Я бы вернулся вот к этому. И все-таки, как узнать, какой организации принадлежит такой-то ip-адрес, или даже такой-то... ? Для этого есть служба whois.

Все-таки, DNS не предназначен для выяснения административных отношений, он предназначен для построения распознаваемой топологии сети, связанной с этим самым административным положением. Для выяснения административных отношений на сегодняшний день используется служба whois. Выглядит это следующим образом: когда вы регистрируете доменное имя, вы это делаете так: либо идет к системному администратору и говорите: выдай мне поддомен какой-нибудь поменьше, либо идете к некоей организации, которая раздает доменные имена, и платите ей за домен второго уровня, там, за .ru. В этом случае, когда вы регистрируете домен второго уровня, вы заноситесь в базу данных, доступную вот этому whois'у, в "информация о вас". Сделаем whois ya.ru:

george@alt:~> whois ya.ru
% By submitting a query to RIPN's Whois Service
% you agree to abide by the following terms of use:
% http://www.ripn.net/about/servpol.html#3.2 (in Russian) 
% http://www.ripn.net/about/en/servpol.html#3.2 (in English).

domain:     YA.RU
type:       CORPORATE
nserver:    ns5.yandex.ru.
nserver:    ns1.yandex.ru.
state:      REGISTERED, DELEGATED
org:        YANDEX, LLC.
phone:      +7 495 7397000
fax-no:     +7 495 7397070
e-mail:     noc@yandex.net
registrar:  RUCENTER-REG-RIPN
created:    1999.07.12
paid-till:  2008.08.01
source:     TC-RIPN


Last updated on 2008.07.03 18:04:47 MSK/MSD

Вот домен ya.ru, состояние: он зарегистрированный и права на его управление переданы администратору, организация: Яндекс, телефон, факс, почта, регистрационный номер того, кто регистрировал, regisrar это регистратор, в 99 году они это дело придумали, до 2008 года они это оплатили, через месяц у них это закончится. Давайте все закиберсквоттим ya.ru, а нет, у них еще будет месяц, у него будет состояние pending. Эх, не получится, я думаю, яндекс первый просечет, что у них просрочился домен. (Наверное вот на этот почтовый адрес придет письмо?) Нет, гораздо интереснее, на этот адрес начнут ломиться ногами пользователи, которые перестанут ходить на ya.ru. Обратите внимание на комментарии вот на эти, такие службы регистрации -- их несколько, поэтому совершенно необязательно будет написано, что это вот так вот будет работать. Попробуйте google.com.

george@alt:~> whois google.com

Whois Server Version 2.0

Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

   Server Name: GOOGLE.COM.ZZZZZ.GET.LAID.AT.WWW.SWINGINGCOMMUNITY.COM
   IP Address: 69.41.185.195
   Registrar: INNERWISE, INC. D/B/A ITSYOURDOMAIN.COM
   Whois Server: whois.itsyourdomain.com
   Referral URL: http://www.itsyourdomain.com

   Server Name: GOOGLE.COM.ZOMBIED.AND.HACKED.BY.WWW.WEB-HACK.COM
   IP Address: 217.107.217.167
   Registrar: ONLINENIC, INC.
   Whois Server: whois.35.com
   Referral URL: http://www.OnlineNIC.com

   Server Name: GOOGLE.COM.YAHOO.COM.MYSPACE.COM.YOUTUBE.COM.FACEBOOK.COM.THEYSUCK.DNSABOUT.COM
   IP Address: 72.52.190.30
   Registrar: GODADDY.COM, INC.
   Whois Server: whois.godaddy.com
   Referral URL: http://registrar.godaddy.com

   Server Name: GOOGLE.COM.WORDT.DOOR.VEEL.WHTERS.GEBRUIKT.SERVERTJE.NET
   IP Address: 62.41.27.144
   Registrar: KEY-SYSTEMS GMBH
   Whois Server: whois.rrpproxy.net
   Referral URL: http://www.key-systems.net

   Server Name: GOOGLE.COM.VN
   Registrar: ONLINENIC, INC.
   Whois Server: whois.35.com
   Referral URL: http://www.OnlineNIC.com

   Server Name: GOOGLE.COM.UY
   Registrar: DIRECTI INTERNET SOLUTIONS PVT. LTD. D/B/A PUBLICDOMAINREGISTRY.COM
   Whois Server: whois.PublicDomainRegistry.com
   Referral URL: http://www.PublicDomainRegistry.com

   Server Name: GOOGLE.COM.UA
   Registrar: DIRECTI INTERNET SOLUTIONS PVT. LTD. D/B/A PUBLICDOMAINREGISTRY.COM
   Whois Server: whois.PublicDomainRegistry.com
   Referral URL: http://www.PublicDomainRegistry.com

   Server Name: GOOGLE.COM.TW
   Registrar: WEB COMMERCE COMMUNICATIONS LIMITED DBA WEBNIC.CC
   Whois Server: whois.webnic.cc
   Referral URL: http://www.webnic.cc

   Server Name: GOOGLE.COM.TR
   Registrar: DIRECTI INTERNET SOLUTIONS PVT. LTD. D/B/A PUBLICDOMAINREGISTRY.COM
   Whois Server: whois.PublicDomainRegistry.com
   Referral URL: http://www.PublicDomainRegistry.com

   Server Name: GOOGLE.COM.SUCKS.FIND.CRACKZ.WITH.SEARCH.GULLI.COM
   IP Address: 80.190.192.24
   Registrar: EPAG DOMAINSERVICES GMBH
   Whois Server: whois.enterprice.net
   Referral URL: http://www.enterprice.net

   Server Name: GOOGLE.COM.SPROSIUYANDEKSA.RU
   Registrar: MELBOURNE IT, LTD. D/B/A INTERNET NAMES WORLDWIDE
   Whois Server: whois.melbourneit.com
   Referral URL: http://www.melbourneit.com

   Server Name: GOOGLE.COM.SERVES.PR0N.FOR.ALLIYAH.NET
   IP Address: 84.255.209.69
   Registrar: GODADDY.COM, INC.
   Whois Server: whois.godaddy.com
   Referral URL: http://registrar.godaddy.com

   Server Name: GOOGLE.COM.SA
   Registrar: OMNIS NETWORK, LLC
   Whois Server: whois.omnis.com
   Referral URL: http://domains.omnis.com

   Server Name: GOOGLE.COM.PLZ.GIVE.A.PR8.TO.AUDIOTRACKER.NET
   IP Address: 213.251.184.30
   Registrar: OVH
   Whois Server: whois.ovh.com
   Referral URL: http://www.ovh.com

   Server Name: GOOGLE.COM.MX
   Registrar: DIRECTI INTERNET SOLUTIONS PVT. LTD. D/B/A PUBLICDOMAINREGISTRY.COM
   Whois Server: whois.PublicDomainRegistry.com
   Referral URL: http://www.PublicDomainRegistry.com

   Server Name: GOOGLE.COM.IS.NOT.HOSTED.BY.ACTIVEDOMAINDNS.NET
   IP Address: 217.148.161.5
   Registrar: ENOM, INC.
   Whois Server: whois.enom.com
   Referral URL: http://www.enom.com

   Server Name: GOOGLE.COM.IS.HOSTED.ON.PROFITHOSTING.NET
   IP Address: 66.49.213.213
   Registrar: NAME.COM LLC
   Whois Server: whois.name.com
   Referral URL: http://www.name.com

   Server Name: GOOGLE.COM.IS.APPROVED.BY.NUMEA.COM
   IP Address: 213.228.0.43
   Registrar: GANDI SAS
   Whois Server: whois.gandi.net
   Referral URL: http://www.gandi.net

   Server Name: GOOGLE.COM.DO
   Registrar: GODADDY.COM, INC.
   Whois Server: whois.godaddy.com
   Referral URL: http://registrar.godaddy.com

   Server Name: GOOGLE.COM.COLLEGELEARNER.COM
   IP Address: 72.14.207.99
   IP Address: 64.233.187.99
   IP Address: 64.233.167.99
   Registrar: GODADDY.COM, INC.
   Whois Server: whois.godaddy.com
   Referral URL: http://registrar.godaddy.com

   Server Name: GOOGLE.COM.CO
   Registrar: NAMESECURE.COM
   Whois Server: whois.namesecure.com
   Referral URL: http://www.namesecure.com

   Server Name: GOOGLE.COM.BR
   Registrar: ENOM, INC.
   Whois Server: whois.enom.com
   Referral URL: http://www.enom.com

   Server Name: GOOGLE.COM.BEYONDWHOIS.COM
   IP Address: 203.36.226.2
   Registrar: TUCOWS INC.
   Whois Server: whois.tucows.com
   Referral URL: http://domainhelp.opensrs.net

   Server Name: GOOGLE.COM.AU
   Registrar: PLANETDOMAIN PTY LTD.
   Whois Server: whois.planetdomain.com
   Referral URL: http://www.planetdomain.com

   Server Name: GOOGLE.COM.ACQUIRED.BY.CALITEC.NET
   IP Address: 85.190.27.2
   Registrar: ENOM, INC.
   Whois Server: whois.enom.com
   Referral URL: http://www.enom.com

   Domain Name: GOOGLE.COM
   Registrar: MARKMONITOR INC.
   Whois Server: whois.markmonitor.com
   Referral URL: http://www.markmonitor.com
   Name Server: NS1.GOOGLE.COM
   Name Server: NS2.GOOGLE.COM
   Name Server: NS3.GOOGLE.COM
   Name Server: NS4.GOOGLE.COM
   Status: clientDeleteProhibited
   Status: clientTransferProhibited
   Status: clientUpdateProhibited
   Updated Date: 10-apr-2006
   Creation Date: 15-sep-1997
   Expiration Date: 14-sep-2011

>>> Last update of whois database: Thu, 03 Jul 2008 10:11:09 EDT <<<

NOTICE: The expiration date displayed in this record is the date the 
registrar's sponsorship of the domain name registration in the registry is 
currently set to expire. This date does not necessarily reflect the expiration 
date of the domain name registrant's agreement with the sponsoring 
registrar.  Users may consult the sponsoring registrar's Whois database to 
view the registrar's reported date of expiration for this registration.

TERMS OF USE: You are not authorized to access or query our Whois 
database through the use of electronic processes that are high-volume and 
automated except as reasonably necessary to register domain names or 
modify existing registrations; the Data in VeriSign Global Registry 
Services' ("VeriSign") Whois database is provided by VeriSign for 
information purposes only, and to assist persons in obtaining information 
about or related to a domain name registration record. VeriSign does not 
guarantee its accuracy. By submitting a Whois query, you agree to abide 
by the following terms of use: You agree that you may use this Data only 
for lawful purposes and that under no circumstances will you use this Data 
to: (1) allow, enable, or otherwise support the transmission of mass 
unsolicited, commercial advertising or solicitations via e-mail, telephone, 
or facsimile; or (2) enable high volume, automated, electronic processes 
that apply to VeriSign (or its computer systems). The compilation, 
repackaging, dissemination or other use of this Data is expressly 
prohibited without the prior written consent of VeriSign. You agree not to 
use electronic processes that are automated and high-volume to access or 
query the Whois database except as reasonably necessary to register 
domain names or modify existing registrations. VeriSign reserves the right 
to restrict your access to the Whois database in its sole discretion to ensure 
operational stability.  VeriSign may restrict or terminate your access to the 
Whois database for failure to abide by these terms of use. VeriSign 
reserves the right to modify these terms at any time. 

The Registry database contains ONLY .COM, .NET, .EDU domains and
Registrars.
MarkMonitor.com - The Leader in Corporate Domain Management
----------------------------------------------------------
For Global Domain Consolidation, Research & Intelligence,
and Enterprise DNS, go to: www.markmonitor.com
----------------------------------------------------------

The Data in MarkMonitor.com's WHOIS database is provided by MarkMonitor.com
for information purposes, and to assist persons in obtaining information
about or related to a domain name registration record.  MarkMonitor.com
does not guarantee its accuracy.  By submitting a WHOIS query, you agree
that you will use this Data only for lawful purposes and that, under no
circumstances will you use this Data to: (1) allow, enable, or otherwise
support the transmission of mass unsolicited, commercial advertising or
solicitations via e-mail (spam); or  (2) enable high volume, automated,
electronic processes that apply to MarkMonitor.com (or its systems).
MarkMonitor.com reserves the right to modify these terms at any time.
By submitting this query, you agree to abide by this policy.

Registrant:
        Dns Admin
        Google Inc.
        Please contact contact-admin@google.com 1600 Amphitheatre Parkway
         Mountain View CA 94043
        US
        dns-admin@google.com +1.6502530000 Fax: +1.6506188571

    Domain Name: google.com

        Registrar Name: Markmonitor.com
        Registrar Whois: whois.markmonitor.com
        Registrar Homepage: http://www.markmonitor.com

    Administrative Contact:
        DNS Admin
        Google Inc.
        1600 Amphitheatre Parkway
         Mountain View CA 94043
        US
        dns-admin@google.com +1.6506234000 Fax: +1.6506188571
    Technical Contact, Zone Contact:
        DNS Admin
        Google Inc.
        2400 E. Bayshore Pkwy
         Mountain View CA 94043
        US
        dns-admin@google.com +1.6503300100 Fax: +1.6506181499

    Created on..............: 1997-09-15.
    Expires on..............: 2011-09-13.
    Record last updated on..: 2008-06-08.

    Domain servers in listed order:

    ns1.google.com
    ns4.google.com
    ns3.google.com
    ns2.google.com
    

MarkMonitor.com - The Leader in Corporate Domain Management
----------------------------------------------------------
For Global Domain Consolidation, Research & Intelligence,
and Enterprise DNS, go to: www.markmonitor.com
----------------------------------------------------------
--
  • А, ну умерло. А нет, оно.... вау.. слушайте, как тут много всего,

ну, спасибо гуглу. ... dns about.com... godaddy.com.. какой-то шведский, что ли.. давайте дальше смотреть, мне интересно стало, vm vietnam,.. кароче, люди нашли.. ua -- это Украина? О, Китай, нет, Тайвань. sprosiuyandeksa.ru?... Я вот что хотел рассказать. На самом деле этих whois-серверов на свете довольно много, и процедура их регистрации в качестве сервера, отвечающего на whois-запросы, она довольно причудливая и то что мы сейчас видим как раз, это результат того, что какие-то люди, видимо, решившие заработать на том, что бы слить это потом гуглу за деньги, или организовать нормальный фишинг, если это там происхоидит проверка, и так далее... прикольно. может это гуглоиды сами придумали?.. Дальше, дальше, там будет настоящий. Вот он. markmonitor, это он и есть.

Алгоритм выяснения этого whois'а достаточно непонятный, например домены в зоне us штатские, вы можете получить вместо информации некий идентификационный номер, соответствующий штатам, а дальше позвоните по такому-то телефону, заплатите столько-то баксов, вам все расскажут.

Точно также и даже гораздо полезнее производить поиск whois по ip-адресу, там будет видно, какие сети, какой организации какие диапазоны выданы, давайте попробуем 62.117.86.102:

george@alt:~> whois 62.117.85.102
% This is the RIPE Whois query server #3.
% The objects are in RPSL format.
%
% Rights restricted by copyright.
% See http://www.ripe.net/db/copyright.html

% Note: This output has been filtered.
%       To receive output for a database update, use the "-B" flag.

% Information related to '62.117.85.0 - 62.117.85.255'

inetnum:      62.117.85.0 - 62.117.85.255
netname:      COMCOR-PROGTEH
descr:        Network for ZAO NPO "Progteh"
country:      RU
admin-c:      CNA3-RIPE
tech-c:       CNA3-RIPE
status:       ASSIGNED PA
mnt-by:       AS8732-MNT
source:       RIPE # Filtered

person:         Chicherov Nikolay Andreevich
e-mail:         sysadmin@progtech.ru
address:        Russia, Mosk. obl., g.Zhukovskiy, Amet-Han Sultana
phone:          +7 495 824831031
mnt-by:         AS8732-MNT
nic-hdl:        CNA3-RIPE
source:         RIPE # Filtered

% Information related to '62.117.64.0/18AS8732'

route:        62.117.64.0/18
descr:        comcor.ru
origin:       AS8732
mnt-by:       AS8732-MNT
source:       RIPE # Filtered

% Information related to '62.117.85.0/24AS35475'

route:          62.117.85.0/24
descr:          Progtech ISP
origin:         AS35475
mnt-by:         AS8732-MNT
source:         RIPE # Filtered

во-первых, информация взята из RIPE, это русский диапазон, которые раздаёт адреса в России, вот диапазон верхнего уровня, кстати сказать, всего 256 адресов, не так интересно. А, там даже меньше, тут больше, тут /18. Вот это, видимо, основной ответ, диапазон адресов /24 выдан ЗАО НПО ПРОГТЕХ, какой-то progteh.ru, Московская область, г. Жуковский, ну и так далее. Теперь вопрос в том, какой автономной системе это принадлежит, комкор, им выдан диапазон /18, и они из своего /18 выдают ниже, вот они нарезали, выдали ниже. Достаточно разумная информация, из которой видно, кто реальный владелец этого ip-адреса, и кто ему этот ip-адрес выдал. Такая вот штука.

Перерыв 10 минут.

{01:56:17}


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

20

1

1

1

1

PavelSutyrin, DmitryChistikov


PspoClasses/080703/02DNSPractice (last edited 2009-03-22 23:09:00 by eSyr)