Étiquette : port

23 mai 2019 /
for i in {1..65535}; do (echo < /dev/tcp/127.0.0.1/$i) >/dev/null 2>&1 && printf "\n[+] Port Ouvert \n: \t%d\n" "$i" || printf "."; done
11 août 2018 /
1. Méthode Bash pure avec /dev/tcp (la plus légère)
timeout 1 bash -c '</dev/tcp/216.58.207.46/443 && echo Le port est ouvert || echo Le port est fermé' || echo Timeout

Explication :

  • Bash (sur la plupart des distros) supporte nativement les pseudo-fichiers /dev/tcp/hôte/port.
  • </dev/tcp/… tente d’ouvrir une connexion TCP sortante.
  • Si ça réussit → « Le port est ouvert ».
  • Si ça échoue → « Le port est fermé ».
  • timeout 1 limite à 1 seconde pour éviter d’attendre indéfiniment.
  • Le || echo Timeout gère le cas où la connexion timed out (port filtré ou très lent).

À adapter : remplace 216.58.207.46 par l’IP cible et 443 par le port voulu.

2. Avec curl en mode telnet
curl telnet://192.168.0.50:22

Explication :

  • Curl supporte le protocole telnet://hôte:port.
  • Si le port est ouvert → curl se connecte et attend (tu peux taper Ctrl+C pour quitter).
  • Si fermé → message d’erreur immédiat « Connection refused » ou « Couldn’t connect to server ».

Avantage : très visuel, tu vois directement si la connexion passe.

3. Avec curl silencieux + test de code retour
curl -s 192.168.0.50:22 >/dev/null && echo Le port est ouvert || echo Le port est fermé

 

Explication :

  • -s : mode silencieux (pas de barre de progression).
  • >/dev/null : jette toute sortie.
  • && / || teste le code retour de curl :
    • 0 → connexion réussie → port ouvert.
    • Autre → connexion refusée/timeout → port fermé.

Pour ajouter un timeout (recommandé) :

curl -s --connect-timeout 2 192.168.0.50:22 >/dev/null && echo Le port est ouvert || echo Le port est fermé

 

 

 

4 janvier 2018 /

Pour réinitialiser un port, ici le 0/28:

conf t
default interface GigabitEthernet1/0/28
end

On peut vérifier que le port est bien réinitialiser avec cette commande:

show run interface GigabitEthernet1/0/28

1 mai 2016 /

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