Linux за българи: Форуми

Сигурност => Системна Сигурност => Темата е започната от: vstoykov в Jan 20, 2010, 14:33



Титла: Списък с български IP адреси, записани в CIDR формат
Публикувано от: vstoykov в Jan 20, 2010, 14:33
ip.ludost.net и countryipblocks.net са най-точните/актуални инструменти, за генериране на списък с български IP адреси в CIDR формат, които съм намерил. Обаче като сравня двата файла излизат разлики - някои адреси ги няма в първия, а други - във втория. Има и различаващи се редове.
 
Само няколко примера:
 
countryipblocks.net  |  ip.ludost
193.200.1.0/23  |  193.200.1.0/24
193.41.206.0/24 | няма такъв ред
91.198.228.0/24 | няма такъв ред
91.199.247.0/24 | няма такъв ред


Написах един скрипт, който "почиства" файла, който се получава след обединяване на двата файла.

Код:
cat файл1 файл2 | sort -u > mix
CIDR_clean-up.bash mix > mix_clean

CIDR_clean-up.bash
Код
GeSHi (Bash):
  1. #!/bin/bash
  2.  
  3.  
  4. cat "$1" | cut -d "/" -f 1 | sort -u | while read ThisIP; do
  5.  
  6. ThisN=$(grep "^$ThisIP/" "$1" | cut -d / -f 2 | sort -g -u | head -n 1)
  7. echo $ThisIP/$ThisN
  8.  
  9. done
  10.  

Този скрипт прави ли това, което си мисля? Затруднявам се да го докажа математически, обаче интуицията ми подсказва, че би трябвало да работи.

Получения списък смятам да го пъхам в .htaccess файл и затова толкова се старая да е "чист".


Титла: Re: Списък с български IP адреси, записани в CIDR формат
Публикувано от: foxb в Jan 20, 2010, 15:12
На знам точно за какво искаш да го ползваш, но има и алтернативи от рода на

http://www.maxmind.com/app/mod_geoip

Тяхната база данни се използва от доста хора, така че може би също е коректна.


Титла: Re: Списък с български IP адреси, записани в CIDR формат
Публикувано от: 10101 в Jan 20, 2010, 15:18
193.41.206.0/24 Не е особено "българска" според ripe.net


Поздрави.


Титла: Re: Списък с български IP адреси, записани в CIDR формат
Публикувано от: vstoykov в Jan 20, 2010, 15:31
На http://cqcounter.com/whois/ излиза "BG, Bulgaria" като разположение и някакви други данни по-надолу (EU).

Обаче тези три адреса наистина не трябва да ги има в списъка (излизат в зелено в програмата kompare "kompare countryipblocks.net.txt ip.ludost.net").

Интерес представляват редовете излизащи в червено:

(В ляво са данните от countryipblocks.net.txt, а в дясно - от ip.ludost.net.)
(http://img253.imageshack.us/img253/3856/ip1.png) ($2)

(http://img207.imageshack.us/img207/6830/ip2q.png) ($2)

Написах и един скрипт, който уж проверява дали адресите са български:

Код:
cat list.txt | cut -d "/" -f 1 | whois-test-list-from-stdin.bash

whois-test-list-from-stdin.bash
Код
GeSHi (Bash):
  1. #!/bin/bash
  2.  
  3. while read IP; do
  4.  
  5. if whois -H $IP | crunch2 | grep "country: BG"; then
  6.  
  7. echo $IP: OK
  8.  
  9. else
  10.  
  11.        if whois -H $IP | grep "Please upgrade this program"; then
  12.         echo "$IP: Иска ъпгрейд!!!"
  13.        else
  14.         echo $IP: Грешка!!!
  15.        fi
  16.  
  17. fi
  18.  
  19. done
  20.  

Обаче за някои адреси, които са на фирми от други държави вади "Грешка!!!", въпреки че IP адресите са в България. Има и такива случаи - напр. 207.241.164.192:

(http://img207.imageshack.us/img207/5863/varna.png) ($2)

Друг пример: 85.118.192.0 (Глобул) - там излиза "bg" вместо "BG".

Има и странни адреси - намират се в Германия, фирмата се намира там, но имат и адрес за контакт в България (91.198.228.0).


В списъка от ip.ludost.net има и малко адреси, които не са в България:

Цитат
Здравей,

ip.ludost.net е автоматичен. Никой не седи да следи адресите, да ги
добавя или маха от някакви списъци.
Абсолютно всички адреси които споменаваш като странни в базата на ip
са маркирани като намиращи се в България в базите на RIR-овете. Тъй
като нашите скриптове агрегират до /24 ако в една /24-ка има повече от
128 адреса които са отбелязани като България, то цялата /24-ка ще я
броим за България. Например

от RIPE DB:
inetnum: * * * * 217.17.48.0 - 217.17.63.255
country: * * * * BG

inetnum: * * * * 217.17.55.0 - 217.17.55.15
country: * * * * GB

т.е. само 16 от 256 адреса в 217.17.55.0/24 се намират в GB. Останалите са в BG.

Поздрави,
Boyan Krosnov ($2)


Титла: Re: Списък с български IP адреси, записани в CIDR формат
Публикувано от: nigl в Jan 20, 2010, 21:02
Хм.. моето ип се рутира през  редове 204 и 220 на двата списъка. Доколко лошо е това?
Имам инсталиран веб и мел сървари-за чисто образователни цели засега.


Титла: Re: Списък с български IP адреси, записани в CIDR формат
Публикувано от: vstoykov в Jan 20, 2010, 21:42
Това значи, че си клиент на БТК, в което няма нищо лошо.

Това не е "черен списък". Това е просто списък с IP адресите от България. Такива списъци се ползват когато искаме да ограничим достъпа на потребители от определени държави до даден сайт или друга услуга.


Титла: Re: Списък с български IP адреси, записани в CIDR формат
Публикувано от: lod в Jan 28, 2010, 12:47
#!/bin/bash
#
#Purpose to download bg isp zone with prefix,
# from ip.ludost.net for further iptables use
#
# lod@lordofdeath.net [License for the script only:GPLv3]
wg=`which wget`
out=/etc/FIREWALL/bgzone.lst
tmp=/tmp/`date +%s`
$wg -O $tmp "http://ip.ludost.net/cgi/process?country=1&country_list=bg&format_template=prefix&format_name=&format_target=&format_default="

if [ "$?" = "0" ];then
        rm $out
        cat $tmp | sed -e "/^#.*/d" > $out
        rm $tmp
        exit 0
else
        exit 1
fi


скрипта съм го добавил в cron и се рефрешва веднъж месечно.


Титла: Re: Списък с български IP адреси, записани в CIDR формат
Публикувано от: lod в Jan 28, 2010, 12:50
 инжектирам го директно в iptables


Титла: Re: Списък с български IP адреси, записани в CIDR формат
Публикувано от: VladSun в Jan 28, 2010, 17:01
инжектирам го директно в iptables

По-добре става с ipset nethash


Титла: Re: Списък с български IP адреси, записани в CIDR формат
Публикувано от: lod в Jan 29, 2010, 12:04
мерси