Telnet, (depuis un serveur distant)
telnet 192.168.0.14 20000
Si le port est ouvert:
Trying 192.168.0.14...
Connected to entropia (192.168.0.14).
Escape character is '^]'.
Si le port est fermé (ou service non démarré):
Trying 192.168.0.14...
telnet: connect to address 192.168.0.14: Connection refused
telnet: Unable to connect to remote host: Connection refused
Netstat, (pour tester en local)
netstat -paunt | grep 3306; echo $?
Si le port est ouvert:
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1979/mysqld
0
Si le port est fermé (ou service non démarré):
1
Netcat, (depuis un serveur distant)
nc -v -z 192.168.0.14 3306; echo $?
Si le port est ouvert:
Connection to 192.168.0.14 3306 port [tcp/mysql] succeeded!
0
Si le port est fermé (ou service non démarré):
nc: connect to 192.168.0.14 port 3306(tcp) failed: Connection refused
1
nc 192.168.0.14 3306< /dev/null ; echo $?
Si le port est ouvert:
4
5.1.73▒d))4f*<,i▒N*'%#~rC8/#`0
Si le port est fermé (ou service non démarré):
1
Wget pour tester un serveur web, (depuis un serveur distant)
wget -qO- 192.168.0.14:80 ; echo $?
wget -q --spider 192.168.0.14:80 ; echo $?
Curl, (depuis un serveur distant)
curl telnet://192.168.0.14:22
Si le port est ouvert, la commande restera bloquée car elle attend que l’on saisisse quelque chose. ctrl+c pour sortir.
Si le port est fermé:
curl: (7) couldn't connect to host
Bash, (depuis un serveur distant)
timeout 1 bash -c 'cat < /dev/null > /dev/tcp/192.168.0.14/22' ; echo $?
Si le port est ouvert:
0
Si le port est fermé:
bash: connect: Connexion refusée
bash: /dev/tcp/192.168.0.14/22: Connexion refusée
1
Nmap, (depuis un serveur distant)
nmap -p 80 192.168.0.14
Si le port est ouvert:
Starting Nmap 5.51 ( http://nmap.org ) at 2016-03-29 10:00 CEST
Nmap scan report for entropia.local (192.168.0.14)
Host is up (0.00068s latency).
PORT STATE SERVICE
80/tcp open http
MAC Address: 00:50:56:01:27:55 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
Si le port est fermé:
Starting Nmap 5.51 ( http://nmap.org ) at 2016-03-29 10:06 CEST
Nmap scan report for entropia.local (192.168.0.14)
Host is up (0.00045s latency).
PORT STATE SERVICE
80/tcp closed http
MAC Address: 00:50:56:01:27:55 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds
Pour tester plusieurs port en même temps:
nmap -p 22,1944,20000 192.168.0.14
Python, (depuis un serveur distant)
python
import socket
clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clientsocket.connect(('192.168.0.14' , 80))
clientsocket.sent('\n')
Si le port est ouvert, vous arriverez à faire un « clientsocket.sent(‘\n’) » (qui vous retournera surement cette une erreur):
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: '_socketobject' object has no attribute 'sent'
Si le port est fermé, au moment du « clientsocket.connect((‘192.168.0.14’ , 80)) » :
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in connect
socket.error: [Errno 111] Connection refused