| 
| 
 | Вопрос # 3 417/ вопрос открыт / | 
 |  Здравствуйте!Имею исходник cgi сканера.Что нужно изменить или добавить,чтобы сканировать диапазон адресов?
 К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса) Приложение:Переключить в обычный режим unit Unit1; interface uses  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,  Psock, StdCtrls, ComCtrls, ExtCtrls, Buttons; type  TForm1 = class(TForm)    Edit1: TEdit;    Edit2: TEdit;    Edit3: TEdit;    s1: TPowersock;    Panel1: TPanel;    ProgressBar1: TProgressBar;    memo1: TMemo;    SpeedButton1: TSpeedButton;    SpeedButton2: TSpeedButton;    Label1: TLabel;    CheckBox1: TCheckBox;    Edit5: TEdit;    SpeedButton3: TSpeedButton;    procedure Button1Click(Sender: TObject);    procedure FormCreate(Sender: TObject);    procedure Button2Click(Sender: TObject);    procedure CheckBox1Click(Sender: TObject);    procedure SpeedButton3Click(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end; var  Form1: TForm1;  stop:boolean=false;  i:integer;  dat:string;implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject);var  f:textfile;  host, str, stuff:string;  i:integer;begin  //Disable all  edit1.Enabled := true;  edit2.Enabled := checkbox1.Checked;  edit3.Enabled := checkbox1.Checked;  checkbox1.Enabled := false;  speedbutton1.Enabled := false;  speedbutton2.Enabled := true;  speedbutton3.Enabled := false;   //What about proxy?  if checkbox1.Checked then  begin    s1.Host := edit2.text;    s1.Port := strtoint(edit3.text);  end else  begin    s1.Host := edit1.text;    s1.Port := strtoint(edit5.text);  end;   //Let's scan!    progressbar1.Position := 0;  stop:=false;  assignfile(f,'cgi.lst');  reset(f);  while not eof(f) do  try    if stop then    begin      progressbar1.Position := 0;      closefile(f);        exit;    end;    s1.Connect;    readln(f,str);    if checkbox1.checked then    begin      s1.Writeln('HEAD http://'+edit1.text+str+' HTTP/1.0'#10#10);    end else    begin      s1.Writeln('HEAD '+str+' HTTP/1.1'#10'Host: localhost'#10#10);    end;    stuff:=s1.ReadLn;     if (pos('200',stuff)<>0) or (pos('500',stuff)<>0)     progressbar1.StepIt;    application.ProcessMessages;    s1.Disconnect;  except     if s1.Connected then s1.Disconnect;    application.ProcessMessages;  end;  closefile(f);end; procedure TForm1.FormCreate(Sender: TObject);var  f:textfile;  str:string;begin  i:=0;  assignfile(f,'cgi.lst');  try    reset(f);   except   end;  while not eof(f) do  begin    readln(f,str);    inc(i);  end;  progressbar1.Max := i;  closefile(f);  memo1.Lines.Clear;   memo1.Lines.Add(dat); end; procedure TForm1.Button2Click(Sender: TObject);begin  stop:=true;  edit1.Enabled := true;  edit2.Enabled := checkbox1.Checked;  edit3.Enabled := checkbox1.Checked;  checkbox1.Enabled := true;  speedbutton1.Enabled := true;  speedbutton2.Enabled := false;  speedbutton3.Enabled := true;end; procedure TForm1.CheckBox1Click(Sender: TObject);begin  edit2.Enabled := checkbox1.Checked;  edit3.Enabled := checkbox1.Checked;end; procedure TForm1.SpeedButton3Click(Sender: TObject);begin  memo1.Lines.Clear;   memo1.Lines.Add(dat); end; end. 
|  |   Вопрос задал: pupkov/sergafan (статус: Посетитель)Вопрос отправлен: 19 ноября 2009, 12:53
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 19 ноября 2009, 13:27; участников в обсуждении: 2. 
|   | Amidamaru (статус: 4-ый класс), 19 ноября 2009, 13:23 [#1]:У меня нету TPowersock, поэтому не могу проверить. |  
|   | Вадим К (статус: Академик), 19 ноября 2009, 13:27 [#2]:Я код могу поправить (и powersock тому не проблема). просто код потенциально опасный, и если вопрошающий не может его поправить, то я думаю, не стоит для него доделывать "оружие". Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |