Portscanner

Cypher_ab

Grünschnabel
hi,
ich hab die frage auch schon in anderen foren gepostet, aber bis jetzt konnte mir noch niemand helfen.

Ich möchte einen Portscanner schreiben, der auch herausfinden kann, ob ports von einer Firewall geblockt wurden (also nicht nur ob zu oder offen). Allerdings hab ich absolut keine Vorstellung davon wie man das herausbekommen könnte.

Ausserdem will ich noch anzeigen lassen, sofern ein port offen ist, von welchem programm er offen gehalten wird, bzw ich will den pfad des programms mit ausgeben. Wie das gehen könnte weiss ich auch nicht, ich kenn auch nur ein tool, das das kann (fport).

Ich wäre euch sehr dankbar wenn mir jemand helfen könnte.

mfg
Cypher
 
Also portscanner prinziell ist einfach

WSAStartup() wenn du windows benutzt
und dann einfach n socket() und n connect().

Eine Firewall zu erkennen, das hängt von der Firewall ab. wenn du ne firewall hast die einfach die ports blokiert, dann kannst du sie nicht erkennen... punkt um.

Das programm das einen socket gebunden hatt ist clientseitig kaum zu ermitteln. du kannst zwar wohl das protokoll feststellen, indem du einfach verschiedene ausprobierst, aber da deckst du natürlich nicht alle ab.
Du kannst natürlich auch eine zuordnungsliste port->protokoll benutzen, da die ersten 1024 ports fix definiert sind.
 
Danke erst mal für deine Antwort

Der meinung, dass es wenn ein port geblockt wurde, aussieht als wäre er zu war ich eigendlich auch, aber ich hab mal einen scanner gesehen, der das angezeigt hat.... und in einem tut über winsocks, habe ich auch mal gelesen, dass kommerzeille scanner das auch öfters rausfinden würden.

den zweiten teil meiner frage habe ich schlecht gestellt, sorry, er soll natürlich nur wenn auf dem lokalen pc gescannt wird, anzeigen welches programm (nicht welcher service) welchen port offen hält.

das mit der liste in der die ports definiert sind, hab ich schon in der letzen version des scanners verwendet.
 
Also das API zum auslesen von sockets is mir eigendlich nicht bekannt. Ich glaube das das teil des DDK ist. Nagel mich aber net fest.
 
>Du kannst natürlich auch eine zuordnungsliste port->protokoll benutzen,
>da die ersten 1024 ports fix definiert sind.
Was dich aber nicht davon abhalten kann, den HTTP - oder SSH-Server beispielsweise auf Port 90 zu starten...
 
Zurück