Probleme ave la fonction socket.gethostbyaddr si l'interface reseau est configure apres le debut du script
1 réponse
HIL
Bonjour,
J'ai realise un petit script python qui permet de configurer une interface
reseau, soit en invoquant 'dhclient' depuis un script python ou
manuellement en invoquant 'ifconfig'. J'ecrit egalement un
fichier /etc/resolv.conf contenant l'adresse de mon serveur dns.
Cela fonctionne et le reseau est 'up', par contre, quand j'utilise la
fonction socket.gethostbyaddr pour recuperer un nom de machine a partir
d'une adresse IP, ca ne fonctionne pas, j'ai une exception herror.
Si je redemarre mon script (cette fois il demarre avec le reseau deja 'up')
socket.gethostbyaddr fonctionne correctement.
J'imagine donc qu au demarrage de python, une couche reseau est chargee et
qu'elle ne voit pas lorsque l'interface reseau n'est initialisee qu'apres.
Y a t il un moyen de reinitialiser cette couche reseau au cours du script,
ou suis je oblige de redemarrer mon script pour qu il tienne en compte le
reseau ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
HIL
Petit precision, mon script tourne sous Debian Linux et j utilise python 2.3.5
HIL
HIL wrote:
Bonjour,
J'ai realise un petit script python qui permet de configurer une interface reseau, soit en invoquant 'dhclient' depuis un script python ou manuellement en invoquant 'ifconfig'. J'ecrit egalement un fichier /etc/resolv.conf contenant l'adresse de mon serveur dns. Cela fonctionne et le reseau est 'up', par contre, quand j'utilise la fonction socket.gethostbyaddr pour recuperer un nom de machine a partir d'une adresse IP, ca ne fonctionne pas, j'ai une exception herror.
Si je redemarre mon script (cette fois il demarre avec le reseau deja 'up') socket.gethostbyaddr fonctionne correctement.
J'imagine donc qu au demarrage de python, une couche reseau est chargee et qu'elle ne voit pas lorsque l'interface reseau n'est initialisee qu'apres.
Y a t il un moyen de reinitialiser cette couche reseau au cours du script, ou suis je oblige de redemarrer mon script pour qu il tienne en compte le reseau ?
Merci d'avance.
HIL
Petit precision, mon script tourne sous Debian Linux et j utilise python
2.3.5
HIL
HIL wrote:
Bonjour,
J'ai realise un petit script python qui permet de configurer une interface
reseau, soit en invoquant 'dhclient' depuis un script python ou
manuellement en invoquant 'ifconfig'. J'ecrit egalement un
fichier /etc/resolv.conf contenant l'adresse de mon serveur dns.
Cela fonctionne et le reseau est 'up', par contre, quand j'utilise la
fonction socket.gethostbyaddr pour recuperer un nom de machine a partir
d'une adresse IP, ca ne fonctionne pas, j'ai une exception herror.
Si je redemarre mon script (cette fois il demarre avec le reseau deja
'up') socket.gethostbyaddr fonctionne correctement.
J'imagine donc qu au demarrage de python, une couche reseau est chargee et
qu'elle ne voit pas lorsque l'interface reseau n'est initialisee qu'apres.
Y a t il un moyen de reinitialiser cette couche reseau au cours du script,
ou suis je oblige de redemarrer mon script pour qu il tienne en compte le
reseau ?
Petit precision, mon script tourne sous Debian Linux et j utilise python 2.3.5
HIL
HIL wrote:
Bonjour,
J'ai realise un petit script python qui permet de configurer une interface reseau, soit en invoquant 'dhclient' depuis un script python ou manuellement en invoquant 'ifconfig'. J'ecrit egalement un fichier /etc/resolv.conf contenant l'adresse de mon serveur dns. Cela fonctionne et le reseau est 'up', par contre, quand j'utilise la fonction socket.gethostbyaddr pour recuperer un nom de machine a partir d'une adresse IP, ca ne fonctionne pas, j'ai une exception herror.
Si je redemarre mon script (cette fois il demarre avec le reseau deja 'up') socket.gethostbyaddr fonctionne correctement.
J'imagine donc qu au demarrage de python, une couche reseau est chargee et qu'elle ne voit pas lorsque l'interface reseau n'est initialisee qu'apres.
Y a t il un moyen de reinitialiser cette couche reseau au cours du script, ou suis je oblige de redemarrer mon script pour qu il tienne en compte le reseau ?