Есть список диапазонов 99.11.789.0 - 99.22.889.255 10.11.789.0 - 10.22.889.255 пару сотен строк Подскажите чем можно сконвертировать этот список в список ip адресов ? вот так что бы было 99.11.789.0 99.11.789.1 99.11.789.2 и тд спасибо
Написать быстренько скриптик на любом известном тебе языке программирования. Задача не выходит за рамки базовых школьных знаний.
это лекго, представь адрес в виде DWORD то есть 0x12345678 это 18.52.86.120 - тока наоборот порядок и просто итерируй его 0x12345679 собсна 18.52.86.121 итд
Да что вы пристали к нему? Ну не знает чел если ничего, как и я. TC, обратись к любому программисту из раздела "Ищу работу". Тут таких много сидит.
PHP: <?php function ExpandIP($start_ip, $end_ip) { $quad1 = explode(".",$start_ip); $quad2 = explode(".",$end_ip); reset ($quad1); while (list ($k, $v) = each ($quad1)) { $quad1[$k] = intval($v); if ($quad1[$k] < 0 || $quad1[$k] > 255) return array(-2); } reset ($quad2); while (list ($k, $v) = each ($quad2)) { $quad2[$k] = intval($v); if ($quad2[$k] < 0 || $quad2[$k] > 255) return array(-2); } $startip_long = sprintf("%u",ip2long($start_ip)); $endip_long = sprintf("%u",ip2long($end_ip)); $ip = array(); $k = 0; for ($i = $startip_long; $i <= $endip_long; $i++) { $temp = long2ip($i); $thisQuad = explode(".",$temp); if ($thisQuad[3] > 0 && $thisQuad[3] < 255) $ip[$k++] = $temp; } return $ip; } print_r(ExpandIP("127.0.0.1","127.0.2.254")); ?> Вывод: Code: Array ( [0] => 127.0.0.1 [1] => 127.0.0.2 [2] => 127.0.0.3 [3] => 127.0.0.4 [4] => 127.0.0.5 [5] => 127.0.0.6 [6] => 127.0.0.7 [7] => 127.0.0.8 [8] => 127.0.0.9 [9] => 127.0.0.10 [10] => 127.0.0.11 ... ... ... [755] => 127.0.2.248 [756] => 127.0.2.249 [757] => 127.0.2.250 [758] => 127.0.2.251 [759] => 127.0.2.252 [760] => 127.0.2.253 [761] => 127.0.2.254 )
VY_CMa Спасибо) но такое тоже есть мне бы брать диапазон из списка и сохранят ипы в список просто список большой в несколько сотен целая страна)
PHP: <?php $IP_LIST = "ip.txt"; function ExpandIP($start_ip, $end_ip) { $quad1 = explode(".",$start_ip); $quad2 = explode(".",$end_ip); reset ($quad1); while (list ($k, $v) = each ($quad1)) { $quad1[$k] = intval($v); if ($quad1[$k] < 0 || $quad1[$k] > 255) return array(-2); } reset ($quad2); while (list ($k, $v) = each ($quad2)) { $quad2[$k] = intval($v); if ($quad2[$k] < 0 || $quad2[$k] > 255) return array(-2); } $startip_long = sprintf("%u",ip2long($start_ip)); $endip_long = sprintf("%u",ip2long($end_ip)); $ip = array(); $k = 0; for ($i = $startip_long; $i <= $endip_long; $i++) { $temp = long2ip($i); $thisQuad = explode(".",$temp); if ($thisQuad[3] > 0 && $thisQuad[3] < 255) $ip[$k++] = $temp; } return $ip; } $range_list = file($IP_LIST, FILE_IGNORE_NEW_LINES); if (false === $range_lis) { die("Can't open file: ".$IP_LIST); } foreach ($range_list as $range) { list($range_start, $range_end) = explode('-', $range); file_put_contents('ips.txt', join('\n', ExpandIP($range_start, $range_end)), FILE_APPEND); } ?> Вот скрипт от VY_CMa который работает с списком диапов.