Скорая Компьютерная Помощь г. Калуга

Полный спектр компьютерных услуг!

Здравствуйте, гость ( Вход | Регистрация )

> Внимание!

  • Вся информация, расположенная в данном и других разделах форума получена из открытых источников (интернет-ресурсы, средства массовой информации, печатные издания и т.п.) и/или добавлена самими пользователями. Администрация форума предоставляет его участникам площадку для общения / размещения файлов / статей и т.п. и не несет ответственности за содержание сообщений, а также за возможное нарушение авторских, смежных и каких-либо иных прав, которое может повлечь за собой информация, содержащаяся в сообщениях.
Ремонт компьютеров в калуге Рекламное место сдается
 
Ответить в эту темуОткрыть новую тему
> php скриптик сканера портов
Phoen
сообщение 20.12.2008, 16:45
Сообщение #1


Junior Member
**

Группа: Пользователи
Сообщений: 96
Регистрация: 13.1.2008
Пользователь №: 20



Вобщем набаянил тут на коленке:

Код
<?php
error_reporting(0);
?>
<? include "inc/head.php" ?>
<?php
function display_form() {
?>
<center>
  <table width="596" border="0" cellspacing="1" cellpadding="2" bgcolor="#00A0F0">
  <tr>
  <td align=left bgcolor="000000" colspan="2" width="586"></center>
  <center>
port scanner
  </td>
  </tr>
  <tr>
  <td bgcolor="black" colspan="2" width="586"><font face="Verdana" size="1"><br><center>
  <?php

?>
  <form action="scan.php" method="post">
  *Хост или IP: <input type="text" style="background-color : #c0c0c0;
    border-style: solid;border-width: 1;" name="host">
    *От: <input type="text" style="background-color : #c0c0c0;
    border-style: solid;border-width: 1;" name="ot">
    *До: <input type="text" style="background-color : #c0c0c0;
    border-style: solid;border-width: 1;" name="do"><br><br>
    <input type="submit" style="background-color : #cccccc;
    border-style: solid;border-width: 1;" name="ok" value="Сканировать"></form></center>
  <tr><td align=left bgcolor="000000" colspan="2"><p align="right">&nbsp;</font></p></td></tr>
   </td>
</tr>
</table>
<?php
}
?>
<?php
function process_form() {
global $host, $ot, $do;
if ($host == "" or "us3r.ru" or "213.155.1.91" or "localhost" or "127.0.0.1" or $ot == "" or $do ==""){echo "Заполните все поля или выберите сервер для сканирования отличный от us3r.ru";exit;}
if(!eregi("^[0-9]+$", $ot) or !eregi("^[0-9]+$", $do)) {
echo "Ошибка :( Значения портов должны содержать только цифры!";exit;}
for($q=$ot;$q<=$do;$q++) {
if(fsockopen ($host, $q, $errno, $errstr, 5)) {
if(!$host){echo "Ошибка : $errno - $errstr<br>";exit;}
if($q=="21"){$z="Сервис | FTP.";}
if($q=="22"){$z="Сервис | RAW или SSH.";}
if($q=="23"){$z="Сервис | Telnet.";}
if($q=="80" or $q=="8080"){$z="Сервис | HTTP.";}
if($q !="21" and $q != "22" and $q != "23" and $q != "80" and $q !="8080"){$z="Сервис | ...";}
$stat .= "<center>Порт: $q открыт. | $z</center><br>";}}
echo "<center><table width=\"596\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\" bgcolor=\"#00A0F0\"><tr><td align=left bgcolor=\"000000\" colspan=\"2\" width=\"586\"></center><center>  port scanner<br></center></td></tr><tr><td bgcolor=\"black\" colspan=\"2\" width=\"586\"><font face=\"Verdana\" size=\"1\"><br>";
echo "<center>Результаты сканирования: $host с $ot до $do порта.</center><br>";
if ($stat != ""){echo "<center>$stat</center>";}
if ($stat == "") {echo "<center>Открытых портов нет.</center><br>";}
echo "<center>... Я буду помнить.</center><tr><td align=left bgcolor=\"000000\" colspan=\"2\"><p align=\"right\"><font color=\"black\" face=\"Verdana\" size=\"1\">&nbsp;</font></p></td></tr></td></tr></table>";
}
?>
<?php
if (empty($ok)) { display_form(); } else
{ process_form(); }
?>

<? include "inc/foot.php" ?>


Пример работы: http://us3r.ru/scan.php

И вот появилась задумка сделать так, чтоб он не просто порты сканировал, а сначала подставлял себе прокси, которую брал скажем отсюда . Есть какие нибудь мысли как реализовать? =)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Decker
сообщение 20.12.2008, 16:58
Сообщение #2


Администратор
*****

Группа: Главные администраторы
Сообщений: 14349
Регистрация: 12.10.2007
Из: Twilight Zone
Пользователь №: 1



Тебе показать пример работы с Proxy или что? Ладно, смотри:

Код
<?php

    $proxy_name = "proxy.ru"; // URL Proxy
    $proxy_port = 3128;
    $proxy_user = "user";
    $proxy_pass = "pass";
    $proxy_cont = "";
    $proxy_fp = fsockopen($proxy_name, $proxy_port);

if ($proxy_fp) {
    $req =  "GET " . $argv[1] ." HTTP/1.1\r\n";
    $req .= "Host: " . $argv[2] . "\r\n";
    $req .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4\r\n";
//    $req .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
//    $req .= "Accept-Language: en-us,en;q=0.5\r\n";
//    $req .= "Accept-Encoding: gzip,deflate\r\n";
//    $req .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
    $req .= "Keep-Alive: 300\r\n";
    $req .= "Proxy-Connection: keep-alive\r\n";
    $req .= "Proxy-Authorization: Basic ". base64_encode ("$proxy_user:$proxy_pass") . "\r\n";
    $req .= "\r\n";

    fputs($proxy_fp, $req);
    while(!feof($proxy_fp)){
        $proxy_cont .= fread($proxy_fp,4096); }
    
    fclose($proxy_fp);
    $proxy_cont = substr($proxy_cont, strpos($proxy_cont,"\r\n\r\n")+4); // обрезаем HTTP

    echo $proxy_cont;
}
?>


Скрипт считывает в своих аргументах URL страницы и адрес хоста, выкачивает ее содержимое через Proxy и выводит на экран. Использовать можно например так:

php.exe script.php http://yandex.ru yandex.ru > yandex.txt

После чего скрипт соединится через proxy с хостом yandex.ru и выкачает в файл yandex.txt содержимое URL - http://yandex.ru, естественно только страничку, без изображений и т.п. Так что, Phoen, не ты один скрипты на коленке ваяяешь wink.gif

p.s. Только это пример работы с HTTP проксей для HTTP-запросов ... как реализовать через HTTP Proxy сканирование портов - пока что загадка ... гуглить надо ибо ) Но судя например по тому что OpenVPN Portable клиент может работать с OpenVPN сервером через произвольный порт, используя HTTP Proxy - реализовать подобное скорее всего возможно.


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Phoen
сообщение 20.12.2008, 17:58
Сообщение #3


Junior Member
**

Группа: Пользователи
Сообщений: 96
Регистрация: 13.1.2008
Пользователь №: 20



Цитата(Decker @ 20.12.2008, 15:58) *
p.s. Только это пример работы с HTTP проксей для HTTP-запросов ... как реализовать через HTTP Proxy сканирование портов - пока что загадка ... гуглить надо ибо ) Но судя например по тому что OpenVPN Portable клиент может работать с OpenVPN сервером через произвольный порт, используя HTTP Proxy - реализовать подобное скорее всего возможно.


Вот как раз этот момент более всего и интересует + как рациональней реализовать нахождение онлайн прокси в списке и её подстановку (слишком быстро мрут анонимки чтоб всегда к одной конектится)?))
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Рекламное место сдается Рекламное место сдается
Текстовая версия Сейчас: 26.4.2025, 23:08
Рейтинг@Mail.ru
Яндекс.Метрика Яндекс цитирования