![]() |
|
Модераторы: feodorv |
![]()
|
|
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Есть список IP адресoв (http://iplists.com/nw/google.txt).
Как определить, входит ли данный IP в заданный диапазон? Добавлено @ 12:44
Это сообщение отредактировал(а) Alca - 27.1.2011, 12:47 |
|||
|
||||
| phprus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 22.8.2006 Репутация: 1 Всего: 3 |
IP & Netmask == NetIP
Если это условие выполняется, значит IP входит в подсеть NetIP. Netmask - маска подсети (если задана в формате /N, то Netmask = ((~0U) << (32-N)) ) NetIP - IP адрес сети. |
|||
|
||||
| Alca |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Спасибо. Вот нашел кое-что, там PHP. но все тоже самое.
http://xpoint.ru/forums/programming/perl/m...ead/32675.xhtml
Добавлено через 5 минут и 33 секунды Как с данного списка: http://iplists.com/nw/google.txt получить массив:
|
||||
|
|||||
| phprus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 22.8.2006 Репутация: 1 Всего: 3 |
Там, где два старших байта - маска /16, там где 3 старших байта - маска /24, там, где указаны все 4 байта - маска /32.
Там, где указаны все 4 байта можно попробовать объединять в подсети, ища такие комбинации групп адресов из списка, в которых в адресе сети будет меньше значащих бит. Правда мне кажется, что такая задача будет относиться к NP сложности, а с учетом того, что в списке очень мало адресов лучше прямым перебором такие искать (добавив эти адреса в список с маской FFFFFFFF). |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Это сообщение отредактировал(а) Alca - 27.1.2011, 18:06 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |