Pb Python avec 'getservbyport()'
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 :
Code:
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() |
ensuite, le message d'erreur :
Citation:
daemon=my_socket.getservbyport(port)
AttributeError:'_socketobject' object has no attribute 'getservbyport'
Y'aurait-il quelquechose à initialiser dans le socket crée avant de se servir de cette fonction?
Merci pour votre aide,
rc