Se riesco ci darò un occhiata...<div>Una domanda "teorica"... una volta che da telnet faccio "reboot", per sapere se ha riavviato devo controllare se la rete è "su" giusto?? </div><div>solo che nel momento in cui faccio reboot al momento in cui la rete "cade", passa un po' di tempo.. come faccio a risolvere? Faccio uno sleep ? </div>
<div>Di quanti secondi?<br><br><div class="gmail_quote">Il giorno 04 maggio 2011 10:45, Andrea Tagliolini -Gmail <span dir="ltr"><<a href="mailto:andreatagliolini@gmail.com">andreatagliolini@gmail.com</a>></span> ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

  
    
  
  <div text="#000000" bgcolor="#ffffff">
    Ok, naturalmente puoi fare come vuoi :)<br>
    Comunque ti dò un piccolo esempio di pexpect per fare un ping verso
    il dns di google nel router.<br>
    <br>
    import pexpect<br>
    <br>
    <br>
    telnet = pexpect.spawn("telnet 192.168.1.1")<br>
    telnet.expect("Login:")<br>
    telnet.sendline("username del tuo router")<br>
    telnet.expect("Password:")<br>
    telnet.sendline("password_del tuo router")<br>
    telnet.expect("#")<br>
    telnet.senline("ping -c 5 8.8.8.8")<br>
    telnet.expect("#")<br>
    telnet.interact()<br>
    <br>
    L'ho scritto al volo e potrebbero esserci errori, però in generale
    funziona cosi.<br>
    Io lo uso molto spesso in ambito lavorativo e funziona alla grande
    :)<br>
    <br>
    Ciao<br>
    <br>
    <br>
    Il 04/05/2011 10:22, Nicola Ferrari ha scritto:
    <div><div></div><div class="h5"><blockquote type="cite">
      <blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
        Perchè non provi pexpect?</blockquote>
      <div>Perchè telnetlib sembra più usata/documentata (almeno, visto
        i risultati che mi fornisce google quando ricerco
        python+telnet).</div>
      <div><br>
      </div>
      <div> </div>
      
      <br>
      <div class="gmail_quote">2011/5/4 Andrea Tagliolini -Gmail <span dir="ltr"><<a href="mailto:andreatagliolini@gmail.com" target="_blank">andreatagliolini@gmail.com</a>></span><br>
        <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
          <div text="#000000" bgcolor="#ffffff"> Perchè non provi
            pexpect?<br>
            <br>
            <a href="http://pexpect.sourceforge.net/pexpect.html" target="_blank">http://pexpect.sourceforge.net/pexpect.html</a><br>
            <br>
            Ciao<br>
            <br>
            Il 04/05/2011 10:00, Nicola Ferrari ha scritto:
            <blockquote type="cite">
              <div>
                <div>Buongiorno a tutti.
                  <div>Tramite python (utilizzando l'esempio presente
                    sulla documentazione della libreria telnetlib)
                    riesco a connettermi, tramite telnet, al mio router.
                  </div>
                  <div><br>
                  </div>
                  <div>Ecco il codice del mio file "test.py"</div>
                  <div><br>
                  </div>
                  <div>
                    <div>import getpass</div>
                    <div>import sys</div>
                    <div>import telnetlib</div>
                    <div><br>
                    </div>
                    <div>HOST = "192.168.1.2"</div>
                    <div>user = raw_input("Utente: ")</div>
                    <div>password = getpass.getpass()</div>
                    <div><br>
                    </div>
                    <div>tn = telnetlib.Telnet(HOST)</div>
                    <div><br>
                    </div>
                    <div>tn.read_until("login: ")</div>
                    <div>tn.write(user + "\n")</div>
                    <div>if password:</div>
                    <div>    tn.read_until("Password: ")</div>
                    <div>    tn.write(password + "\n")</div>
                    <div><br>
                    </div>
                    <div>tn.write("help \n")</div>
                    <div>tn.write("exit\n")</div>
                    <div> <br>
                    </div>
                    <div>print tn.read_all()</div>
                  </div>
                  <div><br>
                  </div>
                  <div><br>
                  </div>
                  <div><br>
                  </div>
                  <div>Così facendo, mi vengono forniti tutti i
                    possibili comandi che posso lanciare.</div>
                  <div><br>
                  </div>
                  <div>~ # help </div>
                  <div><br>
                  </div>
                  <div>Built-in commands:</div>
                  <div>-------------------</div>
                  <div>        . : break cd chdir continue eval exec
                    exit export false hash</div>
                  <div>        help local pwd read readonly return set
                    shift source times trap</div>
                  <div>        true type ulimit umask unset wait [ [[
                    ash cat chgrp chmod chown</div>
                  <div>        cp date dd df echo egrep false fgrep free
                    grep halt ifconfig</div>
                  <div>        insmod kill killall klogd ln login ls
                    lsmod mesg mkdir modprobe</div>
                  <div>        more mv netstat nslookup ping pivot_root
                    poweroff ps pwd reboot</div>
                  <div>        rm rmdir rmmod route sh sleep sync
                    syslogd tail telnetd test</div>
                  <div>        tftp top touch traceroute true uname
                    uptime vi watch wget who</div>
                  <div>        whoami</div>
                  <div><br>
                  </div>
                  <div><br>
                  </div>
                  <div>Non riesco a capire come funziona il "write":</div>
                  <div>- scrive tutto quanto e poi, una volta lanciato
                    read_all esegue e legge i risultati</div>
                  <div>- esegue il comando fornito e il read_all legge
                    solamente i risultati??</div>
                  <div><br>
                  </div>
                  <div>E' per capire come poter fare un ping (per
                    esempio)</div>
                  <div><br>
                  </div>
                  <div>Grazie </div>
                  <div><br>
                  </div>
                </div>
              </div>
              <pre><fieldset></fieldset>
_______________________________________________
Python mailing list
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a>
</pre>
            </blockquote>
            <br>
          </div>
          <br>
          _______________________________________________<br>
          Python mailing list<br>
          <a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
          <a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
          <br>
        </blockquote>
      </div>
      <br>
      <br clear="all">
      <br>
      -- <br>
      Nicola Ferrari<br>
      website: <a href="http://www.nicolaferrari.name" target="_blank">http://www.nicolaferrari.name</a><br>
      <br>
      skype: nick.ferro<br>
      <br>
      <pre><fieldset></fieldset>
_______________________________________________
Python mailing list
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a>
</pre>
    </blockquote>
    <br>
  </div></div></div>

<br>_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Nicola Ferrari<br>website: <a href="http://www.nicolaferrari.name">http://www.nicolaferrari.name</a><br><br>skype: nick.ferro<br><br>
</div>