Php portscan timeout

tach community,

um schnell ohne boardmittel rechner, die ich einrichte nach diversen ports und informationen zu scannen habe ich ein kleines script geschrieben.

u.a. einen portscan, der gezielt auf bestimmte ports scanned.
das mache ich mit fp = fsockopen($host,$port);

der nachteil (ich habs bisher nur local unter windoof getestet)
ist , dass wenn ein port nicht offen ist… das script anscheinend
so lange versucht den zu oeffnen bis apache einen timeout wirft. das ist natuerlich viel zu lange. ausserdem bricht dann ja das script ab.

ich moechte also einen timeout einbauen… hab aber keine ahnung wie ich das anstellen koennte… geht das vielleicht mit catch und try? kann mir da einer helfen?

hier mein scriptauszug:

$portArray = array(80,110,3306);
$rechner = $\_SERVER['REMOTE\_ADDR'];
foreach($portArray as $port)
{
 $fp = fsockopen($rechner ,$port);
 if($fp)
 { echo "Port $port erreichbar";}
 else
 { echo "Port $port NICHT erreichbar";}
 }
}

dankeschoen

grusz

pixelkoenig

Hallo Pixel

klappt das mit dem timeout in der fsockopen function nicht ?

fsockopen ( string target, int port [, int errno [, string errstr [, double timeout]]] )

gruß
Phillip

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

yep. klar. das isses
Hallo Phillip

klappt das mit dem timeout in der fsockopen function nicht ?

na klar klappt das
*ditschAnMeineRuebe*
haette ja mal in die doku gucken koennen, bevor ich mir einen
workaround bastele :smiley:
meine IDE hatte mir die option nicht angezeigt…
tja… php.net ist doch das beste…

danke fuer den anstoss :wink:

grusz

Pixel