Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Сканер открытого порта

Автор: Mr.Dmitry 13.04.2007 19:09

Здраствуйте! помогите написать такой сканер!
Нужно отслеживать открытый порт 1723 в сетки с диапозоном порта 172.27.1.1 до 172.27.254.254
Я написал пробную прогу (переделал с учебника Delphi Глазами хакера) которая сканирует только по 1 из адресов этот порт!
Вот код:

procedure TForm1.Button1Click(Sender: TObject);
Var
ipstr:string;
port:integer;
begin
ipstr:='172.27.176.183';
port:=1723
TcpClient1.RemotePort:=IntToStr(port);
TcpClient1.Open;
If TcpClient1.Connected then
Label1.Caption:='Открыт';
TcpClient1.Close;
end;


При работе этого кода выдаеться что порт открыт
Но если я изменю строку ipstr:='172.27.176.183'; допустим на
ipstr:='1';
Пишит что порт тоше открыт! dry.gif
И еще как написать чтоб сканировался диапозон адресов а не 1 адресс как у меня сейчас (без ввода диапозона адресов со стороны пользователя)

Автор: Mr.Dmitry 15.04.2007 19:27

Ну че не кто незнает?

Автор: Адель 15.04.2007 20:32

1. У меня Вообще ничего не пишет((
2. может стоит попробовать увеличивать свойство RemotePort
3. имхо ipstr к TCPClient вообще в данном случае отношения не имеет
4. юзай IP Tools - все давно за тебя сделали

Автор: Mr.Dmitry 15.04.2007 21:01

Цитата(Адель @ 15.04.2007 16:32) *

1. У меня Вообще ничего не пишет((
2. может стоит попробовать увеличивать свойство RemotePort
3. имхо ipstr к TCPClient вообще в данном случае отношения не имеет
4. юзай IP Tools - все давно за тебя сделали

Свойство RemotePort я не могу увеличить так как мне нужно отслеживать именно 1723 порт
Ipstr эта переменая которая конечноже не может иметь ни чего общего с TCPClient



Цитата
for i:=a to b do
begin
ipstr:='172.27.176'+IntToStr(i);
...
end;

ну и вложенные циклы можно сделать, соответственно.

СПС

Автор: Адель 15.04.2007 21:05

Цитата
Свойство RemotePort я не могу увеличить так как мне нужно отслеживать именно 1723 порт

ну конешно не RemotePort, а RemoteHost...опечатка
Цитата
Ipstr эта переменая которая конечноже не может иметь ни чего общего с TCPClient

ты не понял, я про то, что ей присвоили адрес, попросили ввести, и ВСЁ;, больше она не с чем не взаимодействует, зачем она вообще нужна??

Автор: Mr.Dmitry 15.04.2007 21:18

Цитата(Адель @ 15.04.2007 17:05) *

ну конешно не RemotePort, а RemoteHost...опечатка

ты не понял, я про то, что ей присвоили адрес, попросили ввести, и ВСЁ;, больше она не с чем не взаимодействует, зачем она вообще нужна??

С ipstr буит цикл дипозонов ip адрессов тоесть по введеному диапозону будет сканироваться окрыт ли такой порт на одном из ip или нет

Автор: Адель 15.04.2007 21:27

Цитата
С ipstr буит цикл дипозонов ip адрессов

не, ну что БУДЕТ это понятно, вопрос был о том, что ipstr делает здесь:
 ipstr:='172.27.176.183';
port:=1723
TcpClient1.RemotePort:=IntToStr(port);
TcpClient1.Open;
If TcpClient1.Connected then
Label1.Caption:='Открыт';
TcpClient1.Close;

Автор: Mr.Dmitry 15.04.2007 21:39

Цитата(Адель @ 15.04.2007 17:27) *

не, ну что БУДЕТ это понятно, вопрос был о том, что ipstr делает здесь:
 ipstr:='172.27.176.183';
port:=1723
TcpClient1.RemotePort:=IntToStr(port);
TcpClient1.Open;
If TcpClient1.Connected then
Label1.Caption:='Открыт';
TcpClient1.Close;


ну так я пишу что ipstr -это ip адресс который сканируеться на наличие нужного порта!
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
ipstr:String;
begin
ipstr:='127.0.0.1';
if not InputQuery('Âíèìàíèå', 'Ââåäè IP àäðåñ', ipstr) then exit;
for i:=StrToInt(Edit1.Text) to StrToInt(Edit2.Text) do
begin
TcpClient1.RemotePort:=IntToStr(i);
TcpClient1.Open;
if TcpClient1.Connected then
Memo1.Lines.Add(IntToStr(i)+' îòêðûò');
TcpClient1.Close;
end;
end;

Вот посмотри этот пример (Взят с книги Delphi Глазами хакера) тут все работает! smile.gif

Автор: Адель 15.04.2007 21:52

Цитата
1. У меня Вообще ничего не пишет((
ничего новогу сказать не могу. нажимаю сканить (например 80) и он молчит. какой порт ты пытаешь и по какому IP
не буду споритть, но имхо ipstr, тут не за что не отвечает.