default_login_camera = "root"
default_password_camera = "toto"
ip = '192.168.0.1'
#Connexion en telnet à la caméra
telnet = telnetlib.Telnet( ip )
telnet.read_until("login: ")
telnet.write(default_login_camera + "\n")
telnet.read_until("Password: ")
telnet.write(default_password_camera + "\n")
#Redémarrage
telnet.write("reboot\n")
Quand je copie ligne par ligne dans python sous linux, tout fonctionne.
Quand je lance le script : python reboot.py qui est sensé redémarrer la
machine ayant l'adresse ip 192.168.0.1 ( différente de la machine depuis
laquelle je lance le script ) RIEN ne se passe.
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
ReM
Pour info, si je mets un "telnet.read_all()" à la fin de mon script et que je le lance : python reboot.py, j'arrete la machine distante mais le script se plante et ne me rend pas la main. j'ai aussi essayé avec read_some() mais la machine ne redéùarre pas ! La je suis un peu bloqué ! Help !
"ReM" a écrit dans le message de news: 4173d824$0$23270$
Bonjour,
Voici mon script
#!/usr/bin/python2 # -*- coding: iso-8859-1 -*-
import telnetlib
default_login_camera = "root" default_password_camera = "toto" ip = '192.168.0.1'
#Connexion en telnet à la caméra telnet = telnetlib.Telnet( ip ) telnet.read_until("login: ") telnet.write(default_login_camera + "n") telnet.read_until("Password: ") telnet.write(default_password_camera + "n")
#Redémarrage
telnet.write("rebootn")
Quand je copie ligne par ligne dans python sous linux, tout fonctionne. Quand je lance le script : python reboot.py qui est sensé redémarrer la machine ayant l'adresse ip 192.168.0.1 ( différente de la machine depuis laquelle je lance le script ) RIEN ne se passe.
Quelqu'un a une idée ? Merci
ReM
Pour info, si je mets un "telnet.read_all()" à la fin de mon script et que
je le lance : python reboot.py, j'arrete la machine distante mais le script
se plante et ne me rend pas la main.
j'ai aussi essayé avec read_some() mais la machine ne redéùarre pas !
La je suis un peu bloqué ! Help !
"ReM" <rmREMOVE@advanceupREMOVE.com> a écrit dans le message de news:
4173d824$0$23270$626a14ce@news.free.fr...
Bonjour,
Voici mon script
#!/usr/bin/python2
# -*- coding: iso-8859-1 -*-
import telnetlib
default_login_camera = "root"
default_password_camera = "toto"
ip = '192.168.0.1'
#Connexion en telnet à la caméra
telnet = telnetlib.Telnet( ip )
telnet.read_until("login: ")
telnet.write(default_login_camera + "n")
telnet.read_until("Password: ")
telnet.write(default_password_camera + "n")
#Redémarrage
telnet.write("rebootn")
Quand je copie ligne par ligne dans python sous linux, tout fonctionne.
Quand je lance le script : python reboot.py qui est sensé redémarrer la
machine ayant l'adresse ip 192.168.0.1 ( différente de la machine depuis
laquelle je lance le script ) RIEN ne se passe.
Pour info, si je mets un "telnet.read_all()" à la fin de mon script et que je le lance : python reboot.py, j'arrete la machine distante mais le script se plante et ne me rend pas la main. j'ai aussi essayé avec read_some() mais la machine ne redéùarre pas ! La je suis un peu bloqué ! Help !
"ReM" a écrit dans le message de news: 4173d824$0$23270$
Bonjour,
Voici mon script
#!/usr/bin/python2 # -*- coding: iso-8859-1 -*-
import telnetlib
default_login_camera = "root" default_password_camera = "toto" ip = '192.168.0.1'
#Connexion en telnet à la caméra telnet = telnetlib.Telnet( ip ) telnet.read_until("login: ") telnet.write(default_login_camera + "n") telnet.read_until("Password: ") telnet.write(default_password_camera + "n")
#Redémarrage
telnet.write("rebootn")
Quand je copie ligne par ligne dans python sous linux, tout fonctionne. Quand je lance le script : python reboot.py qui est sensé redémarrer la machine ayant l'adresse ip 192.168.0.1 ( différente de la machine depuis laquelle je lance le script ) RIEN ne se passe.
Quelqu'un a une idée ? Merci
ReM
ardechou
en fait il faut tester continuellement ta connexion telnet. telnet n'est pas une connexion tcp mais udp donc il te faut toujours interroger ta connexion telnet pour savoir si elle execute correctement ta commande. donc en faisant telnet.write(default_password_camera + "n")
tu lances default_password_camera dans la connexion crée , mais juste aprés ton programme se termine , donc la connexion se termine aussi. elle n'est plus active
la schematisation est claire , tu ouvres un tuyau telnet , tu injectes un truc dedans , il te faut vérifier ce qu'il se passe dans ton tuyau continuellement si aprés avoir lancé une donnée dans le tuyau , tu fais un print , alors le print écrase ton envoie de donnée. Moi, je fonctionne avec des sleep ou des while avec test de valeur de retour
c'est à dire telenet.write("ls -rlt > result.txt; fin/n") dans fin j'ai "echo termine" donc des que mon "ls -rtl > result.txt" est fini tu as le script qui affiche termine tu testes avec la fonctionne read_until le contenu du tuyau telnet jusqu'à ce que tu trouves 'termine', à ce moment tu pourras effectuer autre chose en sachant que ton écriture dans le tuyau a été effectuée voilà je ne sais pas si je suis clair , mais j'en ai bavé pour comprendre le fonctionne d'une connexion telnet
hellprout
en fait il faut tester continuellement ta connexion telnet.
telnet n'est pas une connexion tcp mais udp
donc il te faut toujours interroger ta connexion telnet pour savoir si
elle execute correctement ta commande.
donc en faisant
telnet.write(default_password_camera + "n")
tu lances default_password_camera dans la connexion crée , mais juste
aprés ton programme se termine , donc la connexion se termine aussi.
elle n'est plus active
la schematisation est claire , tu ouvres un tuyau telnet , tu injectes
un truc dedans , il te faut vérifier ce qu'il se passe dans ton tuyau
continuellement
si aprés avoir lancé une donnée dans le tuyau , tu fais un print ,
alors le print écrase ton envoie de donnée.
Moi, je fonctionne avec des sleep ou des while avec test de valeur de
retour
c'est à dire telenet.write("ls -rlt > result.txt; fin/n")
dans fin j'ai "echo termine"
donc des que mon "ls -rtl > result.txt" est fini tu as le script qui
affiche termine
tu testes avec la fonctionne read_until le contenu du tuyau telnet
jusqu'à ce que tu trouves 'termine', à ce moment tu pourras effectuer
autre chose en sachant que ton écriture dans le tuyau a été effectuée
voilà je ne sais pas si je suis clair , mais j'en ai bavé pour
comprendre le fonctionne d'une connexion telnet
en fait il faut tester continuellement ta connexion telnet. telnet n'est pas une connexion tcp mais udp donc il te faut toujours interroger ta connexion telnet pour savoir si elle execute correctement ta commande. donc en faisant telnet.write(default_password_camera + "n")
tu lances default_password_camera dans la connexion crée , mais juste aprés ton programme se termine , donc la connexion se termine aussi. elle n'est plus active
la schematisation est claire , tu ouvres un tuyau telnet , tu injectes un truc dedans , il te faut vérifier ce qu'il se passe dans ton tuyau continuellement si aprés avoir lancé une donnée dans le tuyau , tu fais un print , alors le print écrase ton envoie de donnée. Moi, je fonctionne avec des sleep ou des while avec test de valeur de retour
c'est à dire telenet.write("ls -rlt > result.txt; fin/n") dans fin j'ai "echo termine" donc des que mon "ls -rtl > result.txt" est fini tu as le script qui affiche termine tu testes avec la fonctionne read_until le contenu du tuyau telnet jusqu'à ce que tu trouves 'termine', à ce moment tu pourras effectuer autre chose en sachant que ton écriture dans le tuyau a été effectuée voilà je ne sais pas si je suis clair , mais j'en ai bavé pour comprendre le fonctionne d'une connexion telnet