Bonjour,
voila, j'ai écris un petit programme qui me permet de scanner les ports d'une adresse ip et de savoir s'ils sont ouverts ou fermés.
Jusque là tout va bien, cela fonctionne parfaitement;
Mais maintenant je souhaite savoir quels sont les services qui tournent sur les port dits 'ouverts'.
J'ai donc pensé à utiliser la fonction getservbyport(), laquelle n'est pourtant pas trop récente pour ma version de python puisque j'ai installé Active Python 2.4.2.10 et pourtant, à l'exécution voila ce que j'obtiens :
D'abord le code :
ensuite, le message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #!/usr/bin/python # -*- coding: windows-1251 -*- import socket,re class StoneFree: host='x.x.x.x' port=19 while port < 81: my_socket=socket.socket( socket.AF_INET, socket.SOCK_STREAM, ) my_socket.settimeout(1.) if not my_socket.connect_ex((host,port)): daemon=my_socket.getservbyport(port) print "Порт# ",port,' є відкринено ---> ', daemon elif my_socket.connect_ex((host,port)): print "Порт# ",port,' є закринено' port=port+1 my_socket.close()
Y'aurait-il quelquechose à initialiser dans le socket crée avant de se servir de cette fonction?daemon=my_socket.getservbyport(port)
AttributeError:'_socketobject' object has no attribute 'getservbyport'
Merci pour votre aide,
rc
Partager