![]() |
|
تطوير تطبيقة لفحص IPs و Ports - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : تطوير تطبيقة لفحص IPs و Ports (/showthread.php?tid=2966) |
تطوير تطبيقة لفحص IPs و Ports - yassine_hell - 02-04-2011 السلام عليكم ورحمة الله وبركاته حاولت تطوير تطبيقة لفحص IPs و البورتات المفتوحة (80 و 21) استعملت IdIcmpClientو IdTCPClinet و TIdTelnet IdIcmpClient = لعمل ping و التاكد ان IP يعمل IdTCPClinet = لفحص port 80 TIdTelnet = لفحص port 21 لكن البرنامج لم يعمل كما يجب كود : procedure TForm1.Button1Click(Sender: TObject);
var i ,j ,n ,m ,b1 ,b2 ,b3 : Integer;
IP:string;
begin
try
b1 := StrToInt(edit1.Text);
b2 := StrToInt(edit2.Text);
b3 := StrToInt(edit3.Text);
if (b1 > 255) or (b2 > 255) or (b3 > 255) then
begin
showmessage('Wrong range');
exit;
end;
n := StrToInt(edit4.Text);
m := StrToInt(edit5.Text);
if n > m then
begin
showmessage('Wrong range');
exit;
end;
IP := edit1.Text+'.'+edit2.Text+'.'+edit3.Text+'.';
except
showmessage('Wrong range');
exit;
end;
Telnet.ConnectTimeout := 1000;
IdIcmpClient1.Port := 80;
IdIcmpClient1.PacketSize := 12;
for i := n to m do
begin try
Application.ProcessMessages;
IdIcmpClient1.Host := IP + IntToStr(i);
IdIcmpClient1.Ping;
if IdIcmpClient1.ReplyStatus.BytesReceived > 0 then
begin
IdIcmpClient1.ReplyStatus.CleanupInstance;
memo1.Lines.Add(IdIcmpClient1.host);
IdTCPClient1.Port := 80;
IdTCPClient1.Host := IdIcmpClient1.Host;
try
IdTCPClient1.Connect;
if IdTCPClient1.Connected = true then Memo1.Lines.Add(IdTCPClient1.Host + ' connected 80')
else Memo1.Lines.Add(IdTCPClient1.Host + ' Port 80 open but Could not connect');
except
Memo1.Lines.Add(IdTCPClient1.Host + ' Could not connect to 80');
Memo1.Lines.Add(IdTCPClient1.Host + ' connecting on port 21...');
Telnet.Host := IdTCPClient1.Host;
try
Telnet.Connect;
if telnet.Connected = true then
begin
Telnet.Disconnect;
Memo1.Lines.Add(telnet.Host +' connected on 21');
Telnet.Disconnect;
end;
Except
Memo1.Lines.Add(telnet.Host +' -couldnt connect to 21');
end;
end;
end;
finally
Telnet.Disconnect;
IdTCPClient1.Disconnect;
end;
end;
end;هل من حل؟ شكرا تطوير تطبيقة لفحص IPs و Ports - محمد عبد العزيز - 04-04-2011 وعليكم السلام ورحمة الله إقتباس :لم يعمل كما يجبأوضح، ما المشكل بالضبط ؟ |