Bonjour,
J'ai écrit un bout de code sous python 3, mais il n'a pas du tout le comportement auquel je m'attendais.
L'idée est de scanner des ports, je m'attend à ce que le code affiche "tentative de connexion à truc sur le port 1", ensuite un échec ou une réussite, et de nouveau qu'il affiche "tentative de connexion à truc sur le port 2", etc.
Il y-a déjà pas mal de scanner de port sur internet, mais je cherche simplement à un faire un par moi-même.
Le nom de domaine ne correspond à rien, il a été changé car il pointe vers mon pc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 import socket port = 0 while port < 90 : port = port + 1 print ("tentative de connexion à ", "nothing.ecaline.fr", " sur le port ", port) try: socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) socket.connect(("nothing.ecaline.fr", port)) print ("Connected to server ", "nothing.ecaline.fr", " on port ", port ) except : print ("Connecting to ", "nothing.ecaline.fr", " on port ", port, " failed") print ("programme terminé")
Finalement, j'ai :
tentative de connexion à nothing.ecaline.fr sur le port 1
puis 30 seconde d'attente.
Et pouf, tout défile d'un coup :
tentative de connexion à nothing.ecaline.fr sur le port 20
Connecting to nothing.ecaline.fr on port 20 failed
tentative de connexion à nothing.ecaline.fr sur le port 21
Connecting to nothing.ecaline.fr on port 21 failed
tentative de connexion à nothing.ecaline.fr sur le port 22
Connecting to nothing.ecaline.fr on port 22 failed
Jusqu’à 90.
D'autant que j'ai pu établir un connexion en tcp sur le port 21.
Je ne comprend pas pourquoi tout défile d'un coup, et pourquoi il indique que le port 21 est fermé. C'est un peu comme si le premier port était testé, et qu'ensuite le programme fait sa boucle while en passant constamment par except.
C'est étrange.
Partager