Security Teams



:::
  Ответ в темуСоздание новой темыСоздание опроса

> проверить ip на вход в сеть
Kom@nd'Or
Дата 16.11.2006 - 21:22
Цитировать сообщение
Offline



Expert
******

Профиль
Группа: -editors-
Сообщений: 2078
Пользователь №: 48
Регистрация: 2.03.2005



Рейтинг:
(90%) XXXXX


На странице https://www.colocall.net/ua/ (есть и для автоматической обработки ссылка)
62.64.112.0/21
Можно получить список Украинских IP.
В отдельный файл можно собрать список локальных IP.

Теперь сам вопрос:
1. Покакому алгоритму из 62.64.112.0/21 получается правильный список IP адресов?
2. По какому алгоритму можно проверить (лучше проверять) входит-ли проверяемый IP в оду из этих таблиц?
3. Лучше-ли создавать предварительный "список IP", относящихся к зонам сетей?
4. Как легче реализовать (полностью без оптимизации - в лоб, но что-бы легче закодировать)?
5. Как (на сколько хоть теоретически) оптимизация влияет на производительность?


Контрольная и личная необходимость.
для контрольной - паскаль.
На данный момент уже разобран текущий лог-файл по полям.
В итоге нужно - получать думаю что-то в виде такой таблицы:

Код
IP_клиента      Cумма_байт      Cумма_байт_украины      Cумма_байт_lan


--------------------
--
Hайден неизвестный драйвер, воткните какое-нибудь устройство!
---
[b]Во имя процесса-отца, процесса-сына и святаго root"а... Enter! [/b]
PMICQYahoo
Top
Nickolas
Дата 16.11.2006 - 21:37
Цитировать сообщение
Offline



Specialist
****

Профиль
Группа: -users-
Сообщений: 467
Пользователь №: 2842
Регистрация: 16.02.2006



Рейтинг:
(0%) -----


Вообще-то список UA-IX сетей лучше брать на https://noc.ix.net.ua/ua-list.txt

Сети можно позабрасывать postgres-овскую таблицу, средствами того же PostgreSQL определить, входит ли IP-адрес в сеть (подробности - в мануалах PostgreSQL).


--------------------
И придут демоны, и будет имя им BSD
PM
Top
Kom@nd'Or
Дата 17.11.2006 - 13:16
Цитировать сообщение
Offline



Expert
******

Профиль
Группа: -editors-
Сообщений: 2078
Пользователь №: 48
Регистрация: 2.03.2005



Рейтинг:
(90%) XXXXX


Ну ... не реализовывать же мне в контрольной функциональность PostgreSQL cheezy.gif

А чем https://noc.ix.net.ua/ua-list.txt - этот линк лучше?



--------------------
--
Hайден неизвестный драйвер, воткните какое-нибудь устройство!
---
[b]Во имя процесса-отца, процесса-сына и святаго root"а... Enter! [/b]
PMICQYahoo
Top
mulder
Дата 21.11.2006 - 13:41
Цитировать сообщение
Offline



.:in root we trust:.
*****

Профиль
Группа: -vip-
Сообщений: 1181
Пользователь №: 1151
Регистрация: 9.08.2005



Рейтинг:
(70%) XXXX-


Kom@nd'Or
Тем то что указал Николас это первоисточник !
PM
Top
Kom@nd'Or
Дата 22.11.2006 - 13:46
Цитировать сообщение
Offline



Expert
******

Профиль
Группа: -editors-
Сообщений: 2078
Пользователь №: 48
Регистрация: 2.03.2005



Рейтинг:
(90%) XXXXX


А какая маска у вследующих сетей?
Цитата

193.0.227.0
193.0.228.0
193.0.240.0
193.0.247.0
193.16.45.0
193.16.47.0


--------------------
--
Hайден неизвестный драйвер, воткните какое-нибудь устройство!
---
[b]Во имя процесса-отца, процесса-сына и святаго root"а... Enter! [/b]
PMICQYahoo
Top
mt6561
Дата 29.11.2006 - 02:51
Цитировать сообщение
Offline



Activist
**

Профиль
Группа: -users-
Сообщений: 105
Пользователь №: 2007
Регистрация: 2.11.2005



Рейтинг:
(30%) XX---


Цитата (Kom@nd'Or @ 22.11.2006 - 13:46)
А какая маска у вследующих сетей?
Цитата

193.0.227.0
193.0.228.0
193.0.240.0
193.0.247.0
193.16.45.0
193.16.47.0

/24 (255.255.255.0)

Проверка вхождения айпи в сеть:

(TESTIP AND NETMASK)=(NET AND NETMASK)
PM
Top
Kom@nd'Or
Дата 30.11.2006 - 18:30
Цитировать сообщение
Offline



Expert
******

Профиль
Группа: -editors-
Сообщений: 2078
Пользователь №: 48
Регистрация: 2.03.2005



Рейтинг:
(90%) XXXXX


TESTIP - это проверяемый IP адрес?
NET - строка из списка сетей? (UA-IX например)

Правильно?


--------------------
--
Hайден неизвестный драйвер, воткните какое-нибудь устройство!
---
[b]Во имя процесса-отца, процесса-сына и святаго root"а... Enter! [/b]
PMICQYahoo
Top
parapelum
Дата 30.11.2006 - 18:49
Цитировать сообщение
Offline



Junior
*

Профиль
Группа: -users-
Сообщений: 49
Пользователь №: 3752
Регистрация: 21.06.2006



Рейтинг:
(20%) X----


на колокале лежит пример скрипта...
https://www.colocall.net/ua/check_ukr.cgi
PMПисьмо на e-mail пользователю
Top
Kom@nd'Or
Дата 30.11.2006 - 20:07
Цитировать сообщение
Offline



Expert
******

Профиль
Группа: -editors-
Сообщений: 2078
Пользователь №: 48
Регистрация: 2.03.2005



Рейтинг:
(90%) XXXXX


Мне тяжело разобраться как там реализовано. А контрольную уже скоро сдавать ... sad.gif

И список сетей там вбит в сам скрипт, что для установки его на сервер не совсем подходит ... sad.gif


--------------------
--
Hайден неизвестный драйвер, воткните какое-нибудь устройство!
---
[b]Во имя процесса-отца, процесса-сына и святаго root"а... Enter! [/b]
PMICQYahoo
Top
parapelum
Дата 30.11.2006 - 20:25
Цитировать сообщение
Offline



Junior
*

Профиль
Группа: -users-
Сообщений: 49
Пользователь №: 3752
Регистрация: 21.06.2006



Рейтинг:
(20%) X----


Вобщето вам стоило обратить внимание только на
Код
sub ukr_ip {
 my ($uaddr,$uaip_ref)=@_;
 return $cache{"$uaddr"} if (exists $cache{"$uaddr"}); # оптимизация, если такой адрес был - выходим 1
 map { # перебираем каждый елемент того что после закрывающей скобки, а там масив адресов
   my ($oaddr,$mask)=split/\//,$_;   # розбиваем выражение типа 194.183.180.0/22 на две переменные - адрес и длину маски(то что после слеша)
   my $poaddr=unpack("L",pack("C4",(split (/\./, $oaddr)))); # превращаем ип адрес в целое.
   my $puaddr=unpack("L",pack("C4",(split (/\./, $uaddr)))); # тоже самое
   my $pmask=unpack("L",pack("B32",(1 x $mask))); # молучаем собственно маску (тоесть количество единичек равное длине, и это из двоичной в целое)
   if (($puaddr & $pmask)==($poaddr & $pmask)) {
     $cache{"$uaddr"}=1; # кешируем
     return 1;
   }
 }(@{$uaip_ref});
# нефига нет.
 $cache{"$uaddr"}=0;
 return 0;
}

Гдеи описано как проверить это...
PMПисьмо на e-mail пользователю
Top

Опции темы Ответ в темуСоздание новой темыСоздание опроса