Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сканер портов [D7, Win95/98]


Sword-Fish ©   (2003-04-23 13:48:00) 

Добрый день знатоки !!!
У меня такой вопрос !!!
Как мне сделать сканер портов ...
Я пытаюсь так:
беру компоненты из Indy !!!
и поочередно их конектю с портом из цикла(for MyPort:=1 to 200), но что-то не так (я и хост прописываю) а мне надо что бы если такой-то порт открыт, то писалось бы это все в ListBox: например !!!
FTP : Port 21 - Открыт !!!
и т.д.

Как мне поступить !!!


$hade   (2003-04-23 15:51:00) [1]

неее...до старости...time out по умолчанию -1 или 0 (не помню уже) а сие есть Infinity...:-)


S@shka   (2003-04-23 15:42:00) [2]

согласен,
(забыл :)
но не до старост конечно а до time out :)))


$hade   (2003-04-23 15:41:00) [3]

2S@shka ©
Disconnect"ить забыл...
и on E:Exception do нафиг не надо...:-)
да....TCP.ReadLn может ведь и не получить ничего...и так и сидеть
до старости твоей....
Temp:=TCP.ReadLn("",10)


S@shka   (2003-04-23 14:52:00) [4]

Интересно каки таки компоненты Indy ты берешь? :)
...
var
TCP : TIdTCPClient;
Host, temp : String;
i : Integer;
begin
TCP := TIdTCpClient.Create;
host := "www.mail.ru"; // ну или типа того :)
tcp.host := host;
for i : =1 to 200 do
begin
tcp.port := i;
try
TCP.Connect;
Memo1.Lines.Add ("Connected");
Temp := tcp.readln(); // как правило чего нить приходит
// например 220 ... для SMTP
Memo1.Lines.Add ("Recv:"+Temp);
except on E:Exception do
end;
end;
tcp.free;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо