Оказа се малко трудно да се намерят в момента всичките български IP мрежи тъй като така нареченият bg peering вече се е превърнал в нещо като eu peering. Данните за това изследване са базирани на мрежите извадени от този сайт: http://bgp.he.net/country/BG. Използвани помощни програмки - curl и shell script. Ето ги и самите мрежи: http://debian.gabrovo.com/all-bg-networks-october-2012.txt. Не претендирам, че данните са 100% верни особенно дали това наистина са абсолютно всички български мрежи.
Всички тези мрежи бяха сканирани за отворен порт 53/tcp просто защото udp сканирането не би ни свършило работа. Както следва:
#!/bin/bash
for a in `cat all-bg-neтworks-october-2012.txt`;
do
echo -n "scanning $a network ..."
b=`echo $a|cut -d/ -f 1`
nmap --host-timeout 2s -n -p 53 $a -oG $b.log > /dev/null 2>&1
echo "done"
done
Сканирането отне около един ден. Резултатът беше 24911 IP адреса на които има отворен 53ти порт. Трябва да се отбележи, че не всички от тези IP адреси имат инсталиран DNS софтуер. За това следващата стъпка е да сканираме за версията на DNS софтуера. Програмката която ползвам се казва fpdns (fingerprint dns) и я има на пакет в Debian Squeeze (apt-get install fpdns).
#!/bin/bashБележка: tee програмката записва във файл и едновременно с това показва какво е записано и на stdout.
for a in `cat ip-dns-port-53.txt`;
do
fpdns -t 1 -f $a|tee -a dns-scan-oct-2012.txt
done
Fingerprint сканирането отне един weekend. Резултатите са както следва:
ISC BIND 9.2.3rc1 -- 9.6.1-P1 | 9978 |
ISC BIND 9.2.3rc1 -- 9.6.1-P1 [recursion enabled] | 2705 |
Mikrotik dsl/cable | 2529 |
No match found | 782 |
vermicelli totd | 291 |
ISC BIND 8.3.0-RC1 -- 8.4.4 [recursion enabled] | 41 |
DJ Bernstein TinyDNS 1.05 | 40 |
ISC BIND 9.2.0rc7 -- 9.2.2-P3 [recursion enabled] | 40 |
Raiden DNSD | 20 |
bboy MyDNS | 19 |
Max Feoktistov small HTTP server [recursion enabled] | 12 |
ISC BIND 9.2.0rc7 -- 9.2.2-P3 | 9 |
Microsoft Windows DNS 2000 | 9 |
ISC BIND 9.1.0 -- 9.1.3 [recursion enabled] | 8 |
ISC BIND 8.1-REL -- 8.2.1-T4B [recursion enabled] | 8 |
PowerDNS PowerDNS 2.9.4 -- 2.9.11 | 7 |
ISC BIND 9.2.0a1 -- 9.2.2-P3 [recursion enabled] | 7 |
ISC BIND 8.3.0-RC1 -- 8.4.4 [recursion local] | 6 |
NLnetLabs NSD 1.0 alpha (uncertain) | 5 |
JHSOFT simple DNS plus [recursion enabled] | 4 |
Microsoft Windows DNS NT4 | 2 |
ISC BIND 9.2.0rc4 -- 9.2.2-P3 | 2 |
ISC BIND 9.2.0rc7 -- 9.2.2-P3 [recursion local] | 2 |
Microsoft ? | 1 |
ISC BIND 9.0.0b5 -- 9.0.1 [recursion enabled] | 1 |
robtex Viking DNS module | 1 |
VeriSign ATLAS | 1 |
ISC BIND 8.4.1-p1 | 1 |
Total Result | 16531 |
Както се вижда най-използваният DNS софтуер е ISC BIND. Другото което прави впечатление е големият брой DNS сървъри които изпълняват рекурсивни заявки (тоест можете да си ги сложите в настройките за DNS и да ги ползвате без проблем или с други думи казано - в повечето случаи default install).
Ето и какви са версиите на DNS софтуера при запитване за версия:
ID което се връща при заявка за версия | брой |
id: unavailable (NOTIMP) | 2546 |
id: "9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.... | 1498 |
id: unavailable (REFUSED) | 989 |
id: "dnsmasq-2.40" | 941 |
id: "INVALID QUERY" | 834 |
id: "9.7.2-P2" | 760 |
id: "9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6... | 758 |
id: "9.6.-ESV-R7-P1" | 641 |
id: "9.7.3" | 604 |
id: "9.9.1-P3" | 417 |
id: "none" | 401 |
id: "9.9.1-P1" | 274 |
id: "9.8.1-P1" | 268 |
id: "9.3.6-P1-RedHat-9.3.6-20.P1.el5" | 207 |
id: "9.4.2" | 207 |
id: "9.6-ESV-R1" | 180 |
id: "9.4.3-P3" | 177 |
id: "9.7.3-P3-RedHat-9.7.3-8.P3.el6_2.2... | 165 |
id: "9.9.0" | 158 |
id: "9.2.4" | 118 |
id: "9.3.6-P1-RedHat-9.3.6-16.P1.el5_7.... | 115 |
id: "9.4.3-P4" | 105 |
id: "9.5.1-P3" | 104 |
id: "9.3.6-P1-RedHat-9.3.6-16.P1.el5" | 103 |
id: "9.8.0-P2" | 98 |
id: "9.6-ESV-R4" | 98 |
id: "Yes hack me" | 92 |
id: "9.7.0-P1" | 85 |
id unavailable (NOERROR) | 83 |
id: "9.4.1" | 81 |
id: "9.7.2-P3" | 79 |
id: " " | 76 |
id: "9.4.1-P1" | 75 |
id: "9.3.6-P1-RedHat-9.3.6-4.P1.el5_4.2... | 71 |
id: "Go away!" | 69 |
id: "9.4.2-P2" | 68 |
id: "9.3.4-P1" | 67 |
id: "9.3.2-P1" | 63 |
id: "9.3.4" | 60 |
id: "9.7.1-P2" | 58 |
id: "9.3.1" | 51 |
id: "9.6.1-P2" | 48 |
id: "9.4.2-P1" | 45 |
id: "9.3.4-P1.1" | 45 |
id: "9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3... | 43 |
id unavailable (FORMERR) | 40 |
id: "9.3.6-P1" | 38 |
id: "9.5.0-P2" | 37 |
id: "dnsmasq-2.55" | 34 |
id: "9.6.1-P1" | 33 |
id: "9.8.0-P4" | 32 |
id: "dnsmasq-2.47" | 32 |
id: "9.9.1-P2" | 30 |
id: "dnsmasq-2.45" | 30 |
id: "ZOMG EPIX!" | 29 |
id: "9.6-ESV-R3" | 28 |
id: "9.3.3" | 26 |
id: "dnsmasq-2.59" | 26 |
id: "9.6.-ESV-R3" | 25 |
id: "9.4.3-P5" | 25 |
id: "9.6.2-P2" | 23 |
id: "9.5.1-P2" | 23 |
id: "9.3.4-P1.2" | 23 |
id: "9.4.2-P2.1" | 23 |
id: "9.4.3-P2" | 22 |
id: "not available" | 22 |
id: "9.6.-ESV-R5-P1" | 21 |
id: "9.3.2" | 21 |
... кръц ... (стана много дълго...) | n/a |
Върнатият отговор при запитване за версия не е гаранция за това дали софтуера е със сигурност този, тъй като тази стойност може да се променя от администратора (както се забелязва - ZOMG EPIX!).
No match found - предполага се, че това са Windows DNS сървъри. Направих проба с фирмения DNS сървър който е на Windows 2003 сървър и даде точно това - No match found.
Тъй като DNS по дизайн е публична информация ето списък с всички отворени за цял свят рекурсивни DNS cache сървъри в България (2825 броя): http://debian.gabrovo.com/bg-dns-open-recursive.txt.
Ако някои иска да погледне данните в неформатиран (и пълен) вид от това изследване нека ми пише коментар.
No comments:
Post a Comment