Een vraag over open poorten controleren
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.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?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{
?>
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="" size="15" />
Poortnummer: <input type="text" name="poort" size="15" />
<input type="submit" value="Test" />
</form>
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
Maar ik heb er nog steeds geen oplossing voor.
Is er aub iemand die kan helpen.
Mvg. Gertjan