scriptino bash
-
garrett
- Scoppiettante Seguace

- Messaggi: 680
- Iscrizione: martedì 9 ottobre 2007, 20:45
- Desktop: ubuntu
- Distribuzione: Ubuntu 12.10 64bit
- Località: Veneto
- Contatti:
scriptino bash
volevo chiedervi se è possibile fare uno script bash o C o C++ o C# che faccia questo:
- acceda al gatewat 192.168.X.ABC
- inserisco User e Pass
- faccia il reboot del modem
così se sono assente da casa i miei possono riavviare il modem senza dover chiamarmi
(grazie tele2 :-X )
- acceda al gatewat 192.168.X.ABC
- inserisco User e Pass
- faccia il reboot del modem
così se sono assente da casa i miei possono riavviare il modem senza dover chiamarmi
(grazie tele2 :-X )
Re: scriptino bash
Concettualmente è possibile, praticamente se conosci anche i vari comandi da eseguire ti posso aiutare
Il mio blog su Ubuntu | Script per vedere canali RAI in diretta senza browser (discussione)
Quando devi inserire nei messaggi del codice usa il tag code, è il pulsante # sopra le emoticon: [code]inserisci il testo qui[/code]
Quando devi inserire nei messaggi del codice usa il tag code, è il pulsante # sopra le emoticon: [code]inserisci il testo qui[/code]
-
garrett
- Scoppiettante Seguace

- Messaggi: 680
- Iscrizione: martedì 9 ottobre 2007, 20:45
- Desktop: ubuntu
- Distribuzione: Ubuntu 12.10 64bit
- Località: Veneto
- Contatti:
Re: scriptino bash
scusa per il ritardo!
allora dovrei
aprire firefox e digitare http:// 192.168.1.XXX
inserire USERNAME
inserire PASSWORD
cliccare su managment
cliccare su save/reboot
allora dovrei
aprire firefox e digitare http:// 192.168.1.XXX
inserire USERNAME
inserire PASSWORD
cliccare su managment
cliccare su save/reboot
- Demiurgo
- Entusiasta Emergente

- Messaggi: 2093
- Iscrizione: domenica 10 giugno 2007, 13:06
- Località: Pesaro
Re: scriptino bash
Non credo che così sia possibile... almeno non in questo modo...
Hai provato a vedere se il modem accetta connessioni telnet?
Hai provato a vedere se il modem accetta connessioni telnet?
NuDe Project: >
Se volete fare due chiacchiere o avete bisogno di una mano per qualcosa questo è il mio contatto msn: demiurgo-linux@hotmail.it
-
garrett
- Scoppiettante Seguace

- Messaggi: 680
- Iscrizione: martedì 9 ottobre 2007, 20:45
- Desktop: ubuntu
- Distribuzione: Ubuntu 12.10 64bit
- Località: Veneto
- Contatti:
Re: scriptino bash
mmm...ehm...cioè?
so cos'è telnet ma non so come fare a capirlo...
so cos'è telnet ma non so come fare a capirlo...
- Demiurgo
- Entusiasta Emergente

- Messaggi: 2093
- Iscrizione: domenica 10 giugno 2007, 13:06
- Località: Pesaro
Re: scriptino bash
Prova a dare da terminale:
Codice: Seleziona tutto
telnet (ip del router)NuDe Project: >
Se volete fare due chiacchiere o avete bisogno di una mano per qualcosa questo è il mio contatto msn: demiurgo-linux@hotmail.it
Re: scriptino bash
Ho provato con il mio e funziona telnet, però non capisco come si possono inserire tramite uno script nome utente e password (nome utente in realtà forse sì, ma password no) e fare le altre operazioni
Il mio blog su Ubuntu | Script per vedere canali RAI in diretta senza browser (discussione)
Quando devi inserire nei messaggi del codice usa il tag code, è il pulsante # sopra le emoticon: [code]inserisci il testo qui[/code]
Quando devi inserire nei messaggi del codice usa il tag code, è il pulsante # sopra le emoticon: [code]inserisci il testo qui[/code]
- Demiurgo
- Entusiasta Emergente

- Messaggi: 2093
- Iscrizione: domenica 10 giugno 2007, 13:06
- Località: Pesaro
Re: scriptino bash
Beh.. solitamente con echo nome utente e password entrano bene, a volte bisogna fare un po' di testing, ma io l'ho usato spesso con sudo e ti posso assicurare che funziona...Elrond ha scritto: Ho provato con il mio e funziona telnet, però non capisco come si possono inserire tramite uno script nome utente e password (nome utente in realtà forse sì, ma password no) e fare le altre operazioni
Per quanto riguarda il reboot solitamente da telnet esiste un comando apposta per riavviare il router
NuDe Project: >
Se volete fare due chiacchiere o avete bisogno di una mano per qualcosa questo è il mio contatto msn: demiurgo-linux@hotmail.it
Re: scriptino bash
Ciao
Il tuo router supporta connessioni SSH?
Se la risposta è affermativa puoi provare questo script in python che ho fatto per un mio amico con il tuo stesso problema.
Basta eseguirlo con cron ogni tot ore/minuti e se la linea è caduta ti riavvia il router da SSH.
Necessita di un modulo di python aggiuntivo Pexpect:
Per utilizzarlo basta che copi in un file di testo lo script e dai l'estensione .py, nella stessa directory dello script ti crea un file di log (RReboot.log)
è un po grezzo ma il suo lavoro lo fà :-[
p.s.
è la prima volta che uso python, consigli, critiche e maledizioni sono ben accetti se qualche pythonista volesse dagli un occhiata
Ciao
Il tuo router supporta connessioni SSH?
Se la risposta è affermativa puoi provare questo script in python che ho fatto per un mio amico con il tuo stesso problema.
Basta eseguirlo con cron ogni tot ore/minuti e se la linea è caduta ti riavvia il router da SSH.
Necessita di un modulo di python aggiuntivo Pexpect:
Codice: Seleziona tutto
sudo apt-get install python-pexpectè un po grezzo ma il suo lavoro lo fà :-[
Codice: Seleziona tutto
#!/usr/bin/env python
import pexpect
import os
from datetime import datetime
import urllib
data = datetime.today()
f = open('RReboot.log', 'a')
def ssh_command (user, host, password, command):
ssh_newkey = 'Are you sure you want to continue connecting'
child = pexpect.spawn('ssh -l %s %s %s'%(user, host, command))
i = child.expect([pexpect.TIMEOUT, ssh_newkey, 'password: '])
if i == 0: # Timeout
f.write('\nERROR! SSH could not login. Here is what SSH said:\n' + str(child.before) + str (child.after))
f.close()
return None
if i == 1: # SSH does not have the public key. Just accept it.
child.sendline ('yes')
child.expect ('password: ')
i = child.expect([pexpect.TIMEOUT, 'password: '])
if i == 0: # Timeout
f.write('\nERROR! SSH could not login. Here is what SSH said:\n' + str(child.before) + str (child.after))
f.close()
return None
child.sendline(password)
return child
def main ():
host = '192.168.X.X' #inserire indirizzo del router
user = 'router username' #inserire nome utente del router
password = 'password' #inserire password del router
child = ssh_command (user, host, password, 'reboot')
f.write('\n' + str(data) + '\ncheck connection')
try: urllib.urlopen('http://www.google.it')
except IOError:
if __name__ == '__main__':
try:
main()
f.write('\nServer does not respond, router reboot in progress')
f.close()
except Exception, e:
f.write('\n' + str(e))
f.close()
os._exit(1)
f.write('\ncheck passed')
f.close()
è la prima volta che uso python, consigli, critiche e maledizioni sono ben accetti se qualche pythonista volesse dagli un occhiata
Ciao
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 6 ospiti
