Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Сканирование диапазона
moksel  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 12
Пользователь №: 39543
На форуме: 10 лет, 8 месяцев, 10 дней
Карма:




Здрв,
помогите плиз чайнику из этого кода сократить до:
чтобы сканировался заданный диапазон ip, напр 212.20.5.1 - 212.20.6.255
порт 81,
и после сканирования найденное писалось в файл на хосте.
это я взял кусок авторского плагина от дюны (там он такое делает), берет из имени файла и сканирует.
весь файл, если нужен

http://9971.96.lt/tv_channel_list_screen.rar


if (file_exists( $m3u_dir . '/' . $caption_g . '.txt'))
{
$proxy_list_file = $m3u_dir . '/' . $caption_g . '.txt';
$proxy_list = file_get_contents($proxy_list_file);
$proxy_list = str_replace("\n", "", $proxy_list);
$proxy_list = str_replace("\r", "", $proxy_list);
$proxy_arr = explode("http://", $proxy_list);
unset($proxy_arr[0]);
$proxy_arr = array_values($proxy_arr);
$result = count($proxy_arr);
if ($count_doc > $result)
{
$count_doc = 0;
}
if ($count_doc <= 0)
{
$count_doc = 1;
}
$count_doc_r = $count_doc - 1;
$proxy_arr = array_slice($proxy_arr, $count_doc_r);
foreach($proxy_arr as $proxy_ip)
{
++$count_doc;

$port = explode(':', $proxy_ip);
$ip = $port[0];
$port = $port[1];
hd_silence_warnings();
$fp = @fsockopen($ip, $port, $errno, $errstr, 0.2);
hd_restore_warnings();
if ($fp)
{
$end_ipport = $ip . ":" . $port;
$end_ipport = str_replace("\n", "", $end_ipport);
$end_ipport = str_replace("\r", "", $end_ipport);
$daten = str_replace($ip_port, $end_ipport, $daten);
$dateihandle1 = fopen($m3u_file,"w");
if (!$dateihandle1)
hd_print("НЕ МОГУ ЗАПИСАТЬ НА USB/HDD");
fwrite($dateihandle1, $daten);
@fclose($dateihandle1);
@fclose($fp);
break;
}
}

$count_file = '/tmp/' . $caption_g . '.cnt';
$new_count = $count_doc;
$date_count = fopen($count_file,"w");
if (!$date_count)
{
return ActionFactory::show_title_dialog("Не могу записать в tmp Что-то здесь не так!!!");
}
fwrite($date_count, $new_count);
@fclose($date_count);
if (!$end_ipport)
{
$prov = "Плейлист: $caption_g.m3u";
$ipd = "Все ($result шт.) IP адреса proxy из файла: $caption_g.txt";
$url = "ПРОВЕРЬТЕ: возможно этот список proxy не для этого плейлиста.";
$defs = $this->do_get_proxy_defs($prov, $port, $ipd, $url, $plugin_cookies);
return ActionFactory::show_dialog
(
"Прокси из списка $caption_g.txt не найден, повторить поиск?",
$defs,
true
);
}
else
{
$url = 'plugin_launcher://altiptv/';
return ActionFactory::launch_media_url($url);
}
}

elseif (preg_match('/^(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}-(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[0-9]{2}|[0-9])){3}$/i', $caption_g))
{
$ipds = explode('-', $caption_g);
$ip1 = $ipds[0];
$ip2 = $ipds[1];
$an = explode('.', $ip1);
$an = $an[2];
$en = explode('.', $ip2);
$en = $en[2];
$re = $en - $an;
if ($count_doc > $re)
{
$count_doc = 0;
}
$an = $an + $count_doc;
$en = $an;
$ipd = $caption_g;
$prov = "Диапазон из названия плейлиста";
}
elseif (file_exists('/tmp/' . $caption_g . '.ipi'))
{
$ipi_file = '/tmp/' . $caption_g . '.ipi';
$ipi_info = file_get_contents($ipi_file);
$tmp = explode('prov:', $ipi_info);
$ipd = $tmp[0];
$prov = $tmp[1];
$ipds = explode('-', $ipd);
$ip1 = $ipds[0];
$ip2 = $ipds[1];
$an = explode('.', $ip1);
$an = $an[2];
$en = explode('.', $ip2);
$en = $en[2];
$re = $en - $an;
if ($count_doc > $re)
{
$count_doc = 0;
}
$an = $an + $count_doc;
$en = $an;
}
else
{
$domain = $ip;
$whis_url = 'http://ip-whois.net/ip_geo1.php?ip=' . $domain;
$page = HD::http_get_document($whis_url);
$page = iconv('windows-1251', 'UTF-8',$page);
$ipd = explode('inetnum:', $page);
$ipd = strstr($ipd[1], '<br>', true);
$prov = explode('descr:', $page);
$prov = strstr($prov[1], '<br>', true);
$prov = preg_replace('|\s+|', '', $prov);
$ipd = preg_replace('|\s+|', '', $ipd);
$new_ip_inf = $ipd . "prov:" . $prov;
$ip_inf = '/tmp/' . $caption_g . '.ipi';
if (!$ipd===false)
{
$date_ip = fopen($ip_inf,"w");
if (!$date_ip)
{
hd_print("Не могу записать в tmp Что-то здесь не так!!!");
}
fwrite($date_ip, $new_ip_inf);
@fclose($date_ip);
}
$ipds = explode('-', $ipd);
$ip1 = $ipds[0];
$ip2 = $ipds[1];
$an = explode('.', $ip1);
$an = $an[2];
$en = explode('.', $ip2);
$en = $en[2];
$re = $en - $an;
if ($count_doc > $re)
{
$count_doc = 0;
}
$an = $an + $count_doc;
$en = $an;
curl_close($ch);
if (!$ip2) {
return ActionFactory::show_title_dialog("whois сервис не отвечает или не доступен!!!");
}
}

if (!$ip2) {
return ActionFactory::show_title_dialog("Что-то здесь не так!!!");
}
else
{
$count_file = '/tmp/' . $caption_g . '.cnt';
$new_count = $count_doc +1;
$date_count = fopen($count_file,"w");
if (!$date_count)
{
return ActionFactory::show_title_dialog("Не могу записать в tmp Что-то здесь не так!!!");
}
fwrite($date_count, $new_count);
@fclose($date_count);
$port_f = false;
if (file_exists('/tmp/' . $caption_g . '.prt'))
{
$prt_file = '/tmp/' . $caption_g . '.prt';
$temp_port = file_get_contents($prt_file);
if ($temp_port !== '0')
{
$port = $temp_port;
$port_f = true;
}
}



--------------------
:0
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Эли4ка  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Адекват-не мой формат
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 4584
Пользователь №: 27007
На форуме: 13 лет, 9 месяцев, 21 день
Карма: 45

Не пью :
32 года, 26 дней


Цитата
m3u

так понимаю плейтлист?
Цитата
$prov = "Диапазон из названия плейлиста";

ага rolleyes.gif
Цитата
$end_ipport = str_replace("\n", "", $end_ipport);
$end_ipport = str_replace("\r", "", $end_ipport);
$daten = str_replace($ip_port, $end_ipport, $daten);

соедени в одно выражение


Не совсем понятно, а где задается сам диапазон?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

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