Si tu connais le port qui doit etre ouvert sur le serveur, tu le test .
Exemple:
function connection ($host, $port) {
$status = 0;
print "$port</td><td bgcolor=#202020><B>";
$socket = fsockopen($host, $port, &$errno, &$errstr);
if ($socket) {
print "<strong class=bad>OUVERT!</strong>";
$report.="Open : $port\n";
$status = 1;
set_socket_blocking($socket, 0);
$count = 0;
$portOutput = "";
while ($count < 10000) {
if ($readString = fread($socket, 1)) {
$readString = htmlspecialchars($readString);
$portOutput .= $readString;
}
$count++;
}
fclose($socket);
if ($portOutput != "" ) {
print "<code>Output:</code><pre>$portOutput</pre>";
$report.="Output : $portOutput";
}
}
else {
print "Fermé";
}
return $status;
}
En utilisant ce principe, j'ai realisé un script qui permet de scanner certains ports d'un client qui essaie d'entrer dans le back office sans être logguer puis me les envoies par mail et les stockes dans une bdd