Online Scanner sind Dienste die von Webseiten angeboten werden die sich mit Security beschäftigen. Ein Portscanner ist ein Programm welches ein entferntes Computer auf die angebotene Dienste scannt und es den Benutzer von den Portscanner anzeigt. Es bittet sich an so ein Portscanner in PHP zu Programmieren. In meinem Beispiel darf der Benutzer das Ziel nicht frei bestimmen, denn ansonsten könnte er jeden Computer im Internet scannen, was von einigen Administratoren als Angriff aufgefasst werden kann. Und wir wollen keine Beschwerden von anderen Serververwalter haben. Das Ziel wird automatisch bestimmt und zwar die IP Adresse des Benutzers selbst, er scannt also sich selbst.
Den Portbereich geben wir vor so dass auch das nicht von Benutzer bestimmt wird. Der Portscanner fängt beim Port 1 an und endet mit dem Port 150.
<?php $host = $REMOTE_ADDR; print "IP: $host wird gescannt.<br><br>\r\n"; for($i=1;$i<150;$i++) { $fp = fsockopen($host,$i,$errno,$errstr,1); if($fp) { echo "Port $i ist offen<br>\n"; fclose($fp); } flush(); } ? >
$host = $REMOTE_ADDR; In der ersten Zeile bestimmen wir die IP Adresse des Benutzers um diese zuscannen.
print "IP: $host wird gescannt.<br><br>\r\n"; Die Adresse des Benutzers wird ausgegeben wo wie die Meldung dass der Computer gescannt wird.
for($i=1;$i<150;$i++) Diese Schleife muss 150-mal durchgelaufen werden, wobei jedes Mal zur der Variable $i eins addiert wird.
$fp = fsockopen($host,$i,$errno,$errstr,1); Jetzt wird eine Verbindung zur dem Betreffenden Computer und den Portnummer aus der Variable $i aufgebaut.
if($fp) { echo "Port $i ist offen<br>\n"; fclose($fp); } Sollte die Verbindung zur dem Port gelingen, wird sofort auf der Seite die betreffende Portnummer mit der Bemerkung offen angezeigt.
Man kann das Programm nach belieben erweiten um die Ergebnisseite interessanter zu gestallten.
|