Go Down

Topic: login et password avec Telnet.... (Read 5 times) previous topic - next topic

infobarquee

bonjour,
ca y est il copie mes coincs :)
sinon tu peux faire une chose comme ca
Quote

ouverture connexion
delay(2000);
inscription du login
delay(2000);
inscription du mdp
delay(2000);

Jean-François

J'ai déjà essayé ta solution infobarquee et c'est pas un problème de tempo, mais plus "d'étape".

MacBook intel core 2 duo  os X snow Leopard 10.6
 eMac PPc G4  os X Leopard 10.5
powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

infobarquee


J'ai déjà essayé ta solution infobarquee et c'est pas un problème de tempo, mais plus "d'étape".


déjà, est ce qu'en manuel ca fonctionne?
car la solution de find est bonne, expect en bash de mémoire.
as tu vérifié les ports et les logs sur ton server?

EDIT :
ton server est sous quel OS?
si linux, telnet-server est il installé?

Jean-François

#8
Jan 21, 2013, 11:56 am Last Edit: Jan 21, 2013, 12:16 pm by Jean-François Reason: 1
En manuel ça fonctionne... c'est le premier truc que j'essaye afin de bien comprendre la cinématique et l'enchainement des commandes.

J'ai fait une machine d'état (merci barbudor) et ça fonctionne jusqu'à un certain point.


Code: [Select]
enum { WAIT_CONNECT, WAIT_LOGIN, WAIT_PASSWORD, WAIT_INVIT, RUNNING }
Etat = WAIT_CONNECT;

void loop()
{
 switch( Etat )
 {
 case WAIT_CONNECT:
   //... ici le code pour se connecter au serveur telnet
   Serial.println("connection au serveur telnet...");
   if (client.connect(server, 23)) {
     Serial.println("connecté...");
     Etat = WAIT_LOGIN;  
   }
   // remettre le compteur a zero pour la prochaine connexion:
   lastAttemptTime = millis();
   break;
 case WAIT_LOGIN:
   if (client.available()) {
     char c = client.read();
     Serial.print(c);
     stringOne+=c;
   }
   if (!client.connected()) {
     Serial.println();
     Serial.println("déconnecté....");
     client.stop();
     Etat = WAIT_CONNECT;
   }
   // ... ici le code pour attendre "login:"
   if(stringOne.endsWith("login: ")){    
     client.print("root\n");  
     Etat = WAIT_PASSWORD;
   }
   break;
 case WAIT_PASSWORD:
   if (client.available()) {
     char c = client.read();
     Serial.print(c);
     stringOne+=c;
   }
   if (!client.connected()) {
     Serial.println();
     Serial.println("déconnecté....");
     client.stop();
     Etat = WAIT_CONNECT;
   }
   // ... ici le code pour attendre "login:"
   if(stringOne.endsWith("Password:")){    
     client.print("root\n");  
     Etat = WAIT_INVIT;
   }
   break;
 case WAIT_INVIT:
   if (client.available()) {
     char c = client.read();
     Serial.print(c);
     stringOne+=c;
   }
   if (!client.connected()) {
     Serial.println();
     Serial.println("déconnecté....");
     client.stop();
     Etat = WAIT_CONNECT;
   }
   // ... ici le code pour attendre l'invit de commande"
   if(stringOne.endsWith("# ")){    
     Etat = RUNNING;
     delay(100);
   }
   break;
 case RUNNING:
   // ... ici le code pour faire la commande
   client.print("date\n");
   delay(100);
   Etat = WAIT_INVIT;
   break;    
 }
}


Je vais jusqu'à l'invitation de commande symbolisée par "#", la commande passe plusieurs fois puis l'affichage se bloque sur "#"

Quote
Attente de l'attribution de l'adresse IP:
Mon IP:192.168.1.105
connection au serveur telnet...
connecté...
ÿýÿýÿûÿû

login: root
Password:


BusyBox v1.21.0.git (2012-09-09 13:41:47 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

# date
Mon Jan 21 11:15:04 UTC 2013
# date
Mon Jan 21 11:15:04 UTC 2013
# date
Mon Jan 21 11:15:05 UTC 2013
# date
Mon Jan 21 11:15:05 UTC 2013
# date
Mon Jan 21 11:15:05 UTC 2013
# date
Mon Jan 21 11:15:06 UTC 2013
# date
Mon Jan 21 11:15:06 UTC 2013
#
MacBook intel core 2 duo  os X snow Leopard 10.6
 eMac PPc G4  os X Leopard 10.5
powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

infobarquee

hummmm,
ca ressemble à un ban.
trop de commandes rapprochées et ton ip est blacklistée.
tu as quoi dans le syslog? peut être la solution.
sinon trouves tu l'ip du nono dans iptables -l ou -l n (j'ai un doute).

Go Up