Основан 26 Июля 2013 года
freehacks.ru fhacks.me fhacks.pw fhacksnplmzxaaoo.onion
HashFlare
Показано с 1 по 4 из 4
  1. #1
    TopicStarter


    Статус
    Offline
    Регистрация
    11.11.2013
    Сообщений
    84
    Репутация
    16 + / -
    Другое

    Cканер портов

    Привет дорогие посетители нашего сайта! В сегоднешем уроке мы сделаем сканер портов. Для начала включим php модуль php_sockets.dll. После добавим компоненты: 6 текст, 4 поля для ввода, 2 кнопки, 1 прогресс бар, 2 чекбокса, 1 HTML текст, 4 функции, 1 попап меню. Ну что сначала расположим компоненты как показано на рисунке:
    Теперь приступим к настройки компонентов:
    1 кнопка: назовём её "начать сканирование" добавим событие клик и впишем данный код:
    scan_port(c("edit1")->text,c("edit2")->text,c("edit3")->text,c("edit4")->text);
    2 кнопка: назовём её "Остановить сканирование" добавим событие клик и впишем данный код:
    v("stop",true);
    Теперь настроим компонент функция:
    Функция 1:
    Событие-Выполнение
    Код:
    $file = DOC_ROOT."PortBase.cfg";
    if(!file_exists($file)){ 
    
    file_put_contents($file,"21 = FTP"._BR_."22 = SSH"._BR_."23 = TELNET"._BR_."25 = SMTP"._BR_."38 = RAP"._BR_."43 = WHOIS"._BR_."80 = HTTP"._BR_."109 = POP"._BR_."110 = POP3"._BR_."115 = Simple FTP"._BR_."118 = SQL Services"._BR_."119 = NNTP"._BR_."143 = IMAP"._BR_."194 = IRC"._BR_."220 = IMAP3"._BR_."443 = HTTPS / SLL"._BR_."540 = UUCP"._BR_."585 = IMAP4-SSL"._BR_."591 = HTTP-ALT"._BR_."1112 = mSQL — Mini-SQL Server"._BR_."1433 = msSQL-Server"._BR_."1434 = msSQL-Monitor"._BR_."3128 = Proxy"._BR_."3197 = Proxy"._BR_."3306 = MySQL"._BR_."4000 = ICQ"._BR_."4333 = MSQL - Mini SQL Server"._BR_."5100 = ICQ"._BR_."5432 = Postgres SQL"._BR_."6669 = IRC"._BR_."8000 = Stream Audio"._BR_."8080 = HTTP"._BR_."9014 = VOC Daemon"._BR_."9200 = WAP");
    }
    $data = file_get_contents($file);
    $data = explode(_BR_,$data);
    $s = sizeof($data); 
    for($i=0;$ienabled = !$b1->enabled = $ch2->enabled = $ch->enabled = false;
    $port_db = v("ports");
    $timeout = $timeout/1000;
    if($ch->checked){ 
    $port_start = 0; 
    foreach($port_db as $port => $d){
    $ports[] = $port; 
    }
    $port_end = sizeof($ports)-1;
    }
    
    $count = $port_end-$port_start+1;
    $p->max = $count;
    $p->position = 0; 
    $list->html = ''; 
    v("stop",false);
    for($i=$port_start;$ichecked){ 
    $h = @fsockopen($host,$ports[$i],$errno,$errstr, $timeout); 
    $ii = $ports[$i]; 
    }else{
    $h = @fsockopen($host,$i,$errno,$errstr, $timeout); 
    $ii = $i; 
    }
    ++$p->position; 
    $pt->caption = "I?ia?ann: ".$p->position."/".$count; 
    $pt->repaint();
    
    if($h == true){
    $state = "Открыт;"; 
    }else{
    if(!$ch2->checked){ 
    $state = "Закрыт;"; 
    }else{
    $state = false; 
    }
    }
    
    $pdb = $port_db[$ii];
    if($state){ 
    if($pdb!== null){ 
    $list->html = "
    Порт				".$ii."				".$state."				\"".$pdb."\"
    ".$list->html; 
    }else{
    $list->html = "
    Порт				".$ii."				".$state."
    ".$list->html;
    }
    }
    }
    $pt->caption = "Прогресс:"; 
    $b1->enabled = $ch->enabled = $ch2->enabled = !$b2->enabled = false; 
    $p->position = 0;
    for($i=1;$ienabled = true; 
    }
    err_yes();
    Функция 3:
    Событие-Выполнение
    clipboard_settext(c("htmlView1")->get_selText());
    Функция 4:
    Событие-Выполнение
    c("htmlView1")->selectAll();
    clipboard_settext("Хост ".c("edit1")->text._BR_.c("htmlView1")->get_selText());
    Последний раз редактировалось ul1k317; 29.04.2016 в 17:08.

  2. #2
    Аватар для nomadars

    Статус
    Offline
    Регистрация
    25.03.2014
    Сообщений
    39
    Репутация
    11 + / -
    Безопасность
    Код:
    unit Scanner;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Sockets;
    
    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Label1: TLabel;
        Edit2: TEdit;
        Label2: TLabel;
        Edit3: TEdit;
        Label3: TLabel;
        Button1: TButton;
        Memo1: TMemo;
        TcpClient1: TTcpClient;
        Label4: TLabel;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
    i : integer;
    target : String;
    begin
    target := '127.0.0.1';
    if not InputQuery('Warning','Input a target IP',target) then exit;
      for i := StrToInt(Edit2.Text) to StrToInt(Edit3.Text) do begin
        TcpClient1.RemotePort := IntToStr(i);
        TcpClient1.Open;
          if TcpClient1.Connected then //Найден открытый порт
            Memo1.Lines.Add(IntToStr(i)+' is open!');
            TcpClient1.Close;
        end;
        
    end;
     end.
    Вот самый простой вариант.
    Последний раз редактировалось ul1k317; 29.04.2016 в 17:07.

  3. #3
    Аватар для A888R

    Статус
    Offline
    Регистрация
    14.03.2014
    Сообщений
    248
    Репутация
    108 + / -
    Безопасность
    Вариант еще проще:
    apt-get install nmap && nmap --help

  4. #4
    Trust
    Аватар для ul1k317

    Статус
    Offline
    Регистрация
    26.08.2013
    Сообщений
    823
    Репутация
    395 + / -
    Web-программист
    Цитата Сообщение от A888R Посмотреть сообщение
    Вариант еще проще:
    apt-get install nmap && nmap --help
    не не, ребята на пути к открытию - "самописные сканыры в сто строк не работают".
    php, mysql, mssql, js, html, css, ajax, administrating, it consulting, etc.

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Информация на сайте предоставлена исключительно в ознакомительных целях, использование знаний в противозаконных целях преследуется по закону! Администрация не несет ответственности за ваши деяния.