|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Dec 2005
Messaggi: 49
|
Login Automatico con TELNET
Ciao a tutti!
Io uso un Macbook e per collegarmi a internet devo collegarmi tramite telnet via wireless al server del collegio in cui mi trovo... Dunque... Io ora però vorrei realizzare un programmino(che sia in Bash o in C poco importa) che "parta" automaticamente all'avvio del sistema e che ogni tot. minuti si ricolleghi al server da solo!(Il server del collegio dopo circa un'ora mi scollega automaticamente, quindi se io lo faccio riloggare dopo 59 minuti il problema viene evitato!) Il punto è che ho qualche problemino con i comandi di c e le sue funzioni! Esempio: come faccio a realizzare un ciclo iterativo temporizzato? do{ system("telnet [indirizzo ip] -u username -p pass "); temp(3600); <---Questa dovrebbe essere la funzione che mi fa attendere tot secondi prima di proseguire }while(1); ALTRO PROBLEMA: -u e -p in TELNET non esistono!Come faccio???? Se riuscite almeno a darmi una falsa traccia di come dovrebbe essere il programma poi vedo di arrangiarmi io! Grazie a tutti anticipatamente! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Passagli un file di input...
Scrivi un file di testo contente i comandi che passi a telnet per connetterti...premi esattamente gli stessi tasti che premeresti per connetterti, compresi gli invio. A questo punto gli dai in pasto i comandi con: telnet xxx.xxx.xxx.xxx < input.txt |
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Dec 2005
Messaggi: 49
|
Quote:
Non capisco bene cosa tu intenda... Se ho ben capito devo creare un TXT con tutti i passi che faccio manualmente di solito! Ma ho dei dubbi: 1- Per richiamare la shell devo inserire il path del Terminale? 2- come faccio a passare i comandi alla shell? Chiedo veramente scusa per la mia ignoranza...ma in 3 anni di Perito Informatico non ho mai trafficato con queste cose! Grazie mille! |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sì...devi creare un txt con tutti i passi che fai di solito e lo emtti nella directory del tuo eseguibile.
Poi nella system metti esattamente: telnet xxx.xxx.xxx.xxx < input.txt Per la pausa c'è la sleep... #include <unistd.h> sleep(3600); Per fare le prove ti conviene prima fare le prove da terminale andando ad inserire il comando che metti in system, ovviamente nella stessa directory in cui c'è input.txt altrimenti non lo trova con quel comando. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ho visto ora che lo puoi fare anche in bash...
Su OS X c'è un programma chiamato automator che fa parte del sistema operativo, io non lo conosco, ma devi andare ad inserire il comando telnet xxx.xxx.xxx.xxx < ~/input.txt in quel programma e farlo eseguire ogni ora. Ci pensa lui automaticamente ![]() Ovviamente testa prima il comando per vedere se funziona da terminale. |
![]() |
![]() |
![]() |
#6 | |
Member
Iscritto dal: Dec 2005
Messaggi: 49
|
Quote:
Grazie mille per la disponibilità... credo che cmq lo realizzerò in C, creerò un'eseguibile che avvierà la ragazza all'avvio del sistema(in quanto per 5 ore al giorno usa un'abbonamento con Vodafogn)...Appena ho fatto ti faccio sapere! Ancora grazie mille per la cortesia! |
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Dec 2005
Messaggi: 49
|
Caro Cionci... ti posto di seguito il codice dei due file che mi hai consigliato di creare... prog.txt contiene il codice sorgente del programma... mentre input.txt contiene nome utente e pass...se puoi dargli un'occhiata e dirmi se può funzionare te ne sono grato!(per il semplice fatto che non ho ancora un compilatore sul portatile)...GRAZIE MILLE!
Input.txt: nomeutente (posso tenerli così o è meglio che scrivo \n per mandare a capo?) pass prog.txt: #include <stdio.h> //teoricamente inutile #include <unistd.h> void main(){ do{ system("telnet 80.204.xxx.xxx <Input.txt"); sleep(3600); }while(1); } |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Prova prima a dare il comando da shell per vedere se funziona
![]() In ogni caso dovrebbe andare bene. Ma devi inserire solo nomo utente e password ? Nessun comando per uscire da telnet ? |
![]() |
![]() |
![]() |
#9 | |
Member
Iscritto dal: Dec 2005
Messaggi: 49
|
Quote:
Sì...devo solo fornire le credenziali di accesso a quell'indirizzo IP... In ogni caso...a che comando per uscire ti riferisci??? |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Per uscire dal telnet....
Se io connettendomi ad un server telnet scrivo solo nome utente e password mi ritrovo semper all'interno del server, per uscire dalla finestra telnet devo dare il comando exit. |
![]() |
![]() |
![]() |
#11 | |
Member
Iscritto dal: Dec 2005
Messaggi: 49
|
Quote:
In poche parole chiude il terminale e continua a far andare il processo in BACKGROUND... Ho provato a dare in pasto il comando "Telnet xxx.xxx.xxx.xxx < input.txt" al Cmd di Windows ma mi dice che il file non esiste...ho provato a inserire il file anke nella cartella del CMD(cioè System32) ma nada! Ho provato a inserire il path completa ma NADA COMUNQUE!<-- RISOLTO! Ultima modifica di .:EL DIABLO:. : 22-11-2007 alle 21:16. Motivo: aggiungo problema |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:52.