Scanare ip:port cu fsockopen() sau altceva
Scris: Mar Mai 01, 2012
Salutare tuturor! Revin dupa o lunga absenta pe acest forum cu urmatoarea rugaminte:
Am facut o pagina in php pentru a testa un numar de 23 de modemuri, daca sunt online sau nu. Verificand portul 80 la ip-ul(static) fiecarui modem, conf. scriptului de mai jos, totul este ok.
Pe fiecare modem am "port forward" catre portul 7070 unde se afla instalat un dvr(sistem de supraveghere video) cu toate setarile (ip, mask, getway) facute ok. Accesat in browser ip:port acesta functioneaza ok.
Am incercat pe principiul scriptului de mai jos sa testez si portul 7070 (in loc de 80) pentru a vedea cand acest echipament este functional si cand nu. Orice incercare imi afiseaza ca portul este inchis. Nu-mi dau seama daca gresesc undeva sau nu aceasta este metoda.
De exemplu pe acesta pagina ( www.yougetsignal.com/tools/open-ports/ ) verificarea este corecta. Daca dvr-ul functioneaza corect, la verificarea ip:port raspunde ca portul este deschis, daca opresc dvr-ul sau il declupez din cablu raspunsul este port inchis.
Din pacate nu stiu cum testeaza ei porturile. Va rog daca stie cineva cum port rezolva acesta problema va multumesc mult.
Am facut o pagina in php pentru a testa un numar de 23 de modemuri, daca sunt online sau nu. Verificand portul 80 la ip-ul(static) fiecarui modem, conf. scriptului de mai jos, totul este ok.
Pe fiecare modem am "port forward" catre portul 7070 unde se afla instalat un dvr(sistem de supraveghere video) cu toate setarile (ip, mask, getway) facute ok. Accesat in browser ip:port acesta functioneaza ok.
Am incercat pe principiul scriptului de mai jos sa testez si portul 7070 (in loc de 80) pentru a vedea cand acest echipament este functional si cand nu. Orice incercare imi afiseaza ca portul este inchis. Nu-mi dau seama daca gresesc undeva sau nu aceasta este metoda.
De exemplu pe acesta pagina ( www.yougetsignal.com/tools/open-ports/ ) verificarea este corecta. Daca dvr-ul functioneaza corect, la verificarea ip:port raspunde ca portul este deschis, daca opresc dvr-ul sau il declupez din cablu raspunsul este port inchis.
Din pacate nu stiu cum testeaza ei porturile. Va rog daca stie cineva cum port rezolva acesta problema va multumesc mult.
Cod: Selectaţi tot
<?php
/* suprima afisarea in pagina a erorilor */
error_reporting("E_ALL");
$remotename[1] = "Modem 1";
$remotehost[1] = "89.122.xxx.xxx";
$remoteport[1] = "80";
...
...
...
$remotename[23] = "Modem 2";
$remotehost[23] = "89.122.xxx.xxx";
$remoteport[23] = "80";
$c = count($remotename);
$c1 = count($remotehost);
$c2 = count($remoteport);
if($c != $c2){
die("Atentie! Nu ai remoteport si remotehost pentru toate server-ele.");
}
?>
<html>
<head>
<title>Verificare status IP</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table width="100" border="1" cellspacing="0" cellpadding="0" bordercolor="#000000">
<tr>
<td>
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#00CCFF">
<td><b><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="2">Nr.</font></b></td>
<td><b><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="2">Punct</font></b></td>
<td><b><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="2">IP:port</font></b></td>
<td><b><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif" size="2">Stare</font></b></td>
</tr>
<?php
for ($i = 1; $i <= $c; $i++) {
$fp = fsockopen("$remotehost[$i]", $remoteport[$i], $errno, $errstr, 1);
if (!$fp) {
?>
<tr bgcolor="#FFFFFF">
<td><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="1"><?php echo $i; ?></font></td>
<td><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="1"><?php echo $remotename[$i]; ?></font></td>
<td><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="1"><?php echo $remotehost[$i].":".$remoteport[$i]; ?></font></td>
<td><font color="#ff0000" face="Verdana, Arial, Helvetica, sans-serif" size="1">DOWN</font></td>
</tr>
<?php
} else {
?>
<tr bgcolor="#FFFFFF">
<td><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="1"><?php echo $i; ?></font></td>
<td><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="1"><?php echo $remotename[$i]; ?></font></td>
<td><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="1"><?php echo $remotehost[$i].":".$remoteport[$i]; ?></font></td>
<td><font color="#00ff00" face="Verdana, Arial, Helvetica, sans-serif" size="1">UP</font></td>
</tr>
<?php
fclose ($fp);
}
}
?>
</table>
</td>
</tr>
</table>
</body>
</html>