Online Port scanner!

Burnymc

Mitglied
Hallo! Mich interessiert es nur mal mit welchen befehlen man ein sogenannten portscan starten kann. Geht es überhaupt mit php?

Also der aufbau sollte dann ca. so aussehen:

1. wo gescannt werden soll
2. welcher port
3. results werden in eine andere datei gespeichert(das kann ich schon)

Schon mal danke!
 
Ja, es geht..... PHP unterstützt Socketfunktionen mit denen es möglich wär soetwas zu programmieren. Da diese Funktionen aber äusserst mangelhaft dokumentiert sind braucht es schon ein bischen Programmiererfahrung um soetwas zu bauen..

Kannst Dir ja in der PHP Hilfe die Socket-Funktionen im Bereich Networking und die anderen anschauen. Ich weiss, klingt doof aber ist so dokumentiert die einen sind für Netzwerke(Internet) die andern eigentlich auch, steht da aber nciht..

Gruss Danilo
 
Original geschrieben von u-Danilo
Ja, es geht..... PHP unterstützt Socketfunktionen mit denen es möglich wär soetwas zu programmieren. Da diese Funktionen aber äusserst mangelhaft dokumentiert sind braucht es schon ein bischen Programmiererfahrung um soetwas zu bauen.
Also ich wüsste mal gerne, wo fsockopen() schlecht dokumentiert ist ?
Mehr als die Funktion brauchst du im Prinzip nicht. Der Rest des Scripts muss sich nur um entsprechende Timeouts kümmern und dafür sorgen, das nacheinander die eingegebenen Ports gecheckt werden.

fsockopen gibt im Erfolgsfall einen Zeiger zurück, schlägt die Verbindung fehl, wird FALSE zurückgegeben. Es ist also sehr leicht zu testen, ob ein Port offen ist, oder nicht.
PHP:
if(!@fsockopen($host, $port)) {
  echo "Der Port $port an Host $host ist nicht offen";
}
Das ganze an mehrere Ports nacheinander anzupassen und die Ergebnisse in eine Datei zu schreiben sollte ja nicht das große Problem darstellen.
 
DAnke

Danke es klappt natürlich wenn ihr es sagt! :-)))

Ich habe jetzt nur ein Problem, nämlich wenn ich z. B. eine Ip
192.168.0.1 - 192.168.3.255
eingebe, wie kriege ich das dann hin, dass er bis dahin hochzählt, ohne dass ich jede zahl einzeln machen muss!

so soll es dann anschließend aussehen:
192.168.0.1
192.168.0.2
192.168.0.3
.....
192.168.0.254
192.168.1.1
....
192.168.1.254

usw.
 
Das geht über while Schleifen und ein explode() mit dem du die IP noch auseinandernehmen solltest.
Aber mal ehrlich. Was du da vorhast, macht irgendwie keinen Sinn.

PHP liefert nicht die Performance um riesige IP Ranges auf offene Ports zu scannen. Dafür müsstest du die timeout des PHP-Parsers deaktivieren und würdest für einen umfassenden Zeitraum die Resourcen des Servers blockieren.

Wenn du Ports scannen willst, greif auf einen der frei verfügbaren Portscanner zurück, oder wenn du selber einen schreiben möchtest, bedien dich einer anderen Sprache.

Mit PHP wäre das ganze evtl. dann noch sinnvoll, wenn du nur auf einer IP (z.B. der vom Besucher) das ganze durchziest, aber so weite Ranges ... da kann ich nur von abraten.
 
Also prinzipiell schreibst du dir für deinen Script
ja nur ein Array mit allen zu scannenden IP's,
eine Funktion die die Ports checkt und eine die
vorher prüft ob die IP online ist.

Oder habe ich dich missverstanden.

Jona
 
nee, hast mich nicht missverstanden!

Ich brauche nur ein beispiel script, da ich garkeinen plan von explode() habe! Wäre nett.
 
fsockopen ist ja dokumentiert aber guck mal genauer in die php-doku da findeste noch andere socket funktionen.. socket_blah... Die sind 1. nich so schwachsinnig umständlich und 2. schlecht dokumentiert weil sie bis vor 2 Versionen noch experimentell waren :-)
 
Zurück