![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сканер портов [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;