Ik heb gisteren een klein script gemaakt dat kijkt of poorten open zijn of niet.
In het script heb ik het op 2 manieren geprobeerd om het goed te krijgen.
Maar naar mijn mening klopt er iets niet.
Wanneer we poorten gaan testen die in router open staan. Dan geeft hij aan dat via test 1 poort open staat, en via test 2 dat hij dicht staat. Wanneer we het programma (in dit geval Utorrent) starten. En dan weer testen zijn de poorten wel open bij test 1 en 2.
Op zich zou dit mogelijk zijn als de router de poort aan een programma koppelt.
Maar nu het volgende gaan we testen met Azureus. Dan blijven de poorten dicht zowel Azureus aan of uit staat.
Het script is te zien op http://www.dropzones.org/verbindbaar.php
En het script zelf is.
<?php
if(isset($_POST['poort'])){
$port = $_POST['poort'];
$ip = $_POST['ip'];
$theError = "";
$fd = pfsockopen($ip, $port, $errno, $theError, 8);
if (!$fd){
$fd = '<font color=red><b>niet</b></font>';
}
else{
$fd = '<font color=limegreen><b>wel</b></font>';
}
print("Test 1: U gebruikt ip adres ".$ip.", u gebruikt poort ".$port." en u ben ".$fd." verbindbaar<br />");
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
echo socket_strerror($socket);
}
else {
$result = @socket_connect($socket, $ip, $port);
if ($result > 0) {
$fd1 = '<font color=limegreen><b>wel</b></font>';
}
else {
$fd1 = '<font color=red><b>niet</b></font>';
}
socket_close($socket);
}
print("Test 2: U gebruikt ip adres ".$ip.", u gebruikt poort ".$port." en u ben ".$fd1." verbindbaar");
}
else{
?>
<form method="post" action="verbindbaar.php">
Ip adres: <input type="text" name="ip" value="<?php print $_SERVER['REMOTE_ADDR']; ?>" size="15" />
Poortnummer: <input type="text" name="poort" size="15" />
<input type="submit" value="Test" />
</form>
<?php
}
?>
Ik hoop dat jullie mij kunnen uitleggen hoe het nou precies zit.
En of er een mogelijkheid is om dit op te lossen.
mvg. Gertjan
2.517 views