Thema: Delphi portscanner

Einzelnen Beitrag anzeigen

A-M-X

Registriert seit: 29. Sep 2005
Ort: Karlsruhe
152 Beiträge
 
#6

Re: portscanner

  Alt 13. Feb 2006, 15:07
Zitat von Sebastian R.:
Dein Portscanner ist ein bisschen umständlich. Probier doch einfach mal folgenden Code:

Delphi-Quellcode:
var host: pHostEnt;
    dwIP: DWORD;
    sock: TSocket;
    saddr: SOCKADDR_IN;
    from_port, to_port, i, ret: integer;
begin
host := GetHostByName(pchar('localhost'));
dwIP := htonl(integer(pointer(host^.h_addr^)^));
ZeroMemory(@saddr,sizeof(SOCKADDR_IN));
saddr.sin_family := AF_INET;
saddr.sin_addr.S_addr := htons(dwIP);
sock := socket(AF_INET, SOCK_STREAM, 0);
for i := from_port to to_port do begin
saddr.sin_port := ntohl(i);
ret := connect(sock, saddr, sizeof(saddr));
if ret = SOCKET_ERROR do begin
// Closed
end
else begin
// Open
end;
end;
end;
Natürlich keine Garantie für die Richtigkeit, habs grad aus dem Stand getippt!

MfG, Sebastian!
Ein Portscanner interessiert mich auch, habs deswegen getestet.

Klappt alles nur bei der zeile

dwIP := htonl(integer(pointer(host^.h_addr^)^)); kommt ein fehler:
Zitat:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 0044D9FD in Modul 'Project1.exe'. Lesen von Adresse 0000000C'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------
  Mit Zitat antworten Zitat