Connexion Telnet

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Mindphazer
Messages : 695
Inscription : mer. 24/août/2005 10:42

Connexion Telnet

Message par Mindphazer »

Bonjour à tous
J'ai besoin d'écrire une procédure qui effectue une connection telnet (donc sur le port 23) sur un serveur, envoie le nom d'utilisateur et le mot de passe, puis lance 2 ou 3 commandes avant de se déconnecter, le tout de manière transparente pour l'utilisateur.
J'avoue que je ne sais pas trop par quel bout commencer.....
Quelqu'un aurait-il la gentillesse de me proposer un début de piste ?

Merci d'avance
Avatar de l’utilisateur
Morsula
Messages : 72
Inscription : dim. 20/mars/2005 16:38
Localisation : Strasbourg
Contact :

Message par Morsula »

Euh bah je débute aussi ^^' Peut être qu'en regardant dans l'aide de PB tu trouvera quelques chose, rubrique Network peut être ? :roll:
Morsula
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Message par fweil »

Il suffit de passer par la commande OpenNetworkConnection(), mais ça s'appliquerai mieux dans la rubrique de tête du forum !!!
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
Avatar de l’utilisateur
Mindphazer
Messages : 695
Inscription : mer. 24/août/2005 10:42

Message par Mindphazer »

Ben oui mais autant j'arrive à me connecter au serveur, autant je ne sais pas comment faire pour attendre la réponse du serveur (c'est à dire comment attendre le prompt qui demande le nom d'utilisateur, etc...)
J'ai beau essayer d'envoyer avec sendnetworkstring les chaînes de connexion, ça ne fonctionne malheureusement pas.... Bouhou.....
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Message par fweil »

A partir de la RFC (voir par exemple http://www.commentcamarche.net/internet/telnet.php3) tu devrais pouvoir négocier un échange avec un serveur Telnet en utilisant un code du genre ...

Code : Tout sélectionner

Procedure RECV(ConnectionID)
  Debug "RECV(" + Str(ConnectionID) + ")"
  BufferLength = 1024
  *Buffer = AllocateMemory(BufferLength)
  Repeat
    ReceivedBufferLength = ReceiveNetworkData(ConnectionID, *Buffer, BufferLength)
    Debug Str(ReceivedBufferLength) + " bytes received"
    Debug PeekS(*Buffer)
    HexBuffer.s = ""
    For i = 1 To ReceivedBufferLength
      HexBuffer + RSet(Hex(PeekB(*Buffer + i - 1)), 2, "0") + " "
    Next
    Debug HexBuffer
  Until ReceivedBufferLength < BufferLength
  FreeMemory(*Buffer)
EndProcedure

Procedure SEND(ConnectionID, *Buffer, BufferLength)
  Debug "SEND(" + Str(ConnectionID) + ", " + Str(*Buffer) + ", " + Str(BufferLength) + ")"
  SendNetworkData(ConnectionID, *Buffer, BufferLength)
EndProcedure

  If InitNetwork()
      ConnectionID = OpenNetworkConnection("192.168.1.10", 23)
      If ConnectionID
          Debug "Connected : " + Str(ConnectionID)
          RECV(ConnectionID)
          s.s = "whateveryouwant"
          SEND(ConnectionID, @s, Len(s))
          RECV(ConnectionID)
          CloseNetworkConnection(ConnectionID)
        Else
          Debug "Can't connect"
      EndIf
  EndIf
End
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
Avatar de l’utilisateur
Mindphazer
Messages : 695
Inscription : mer. 24/août/2005 10:42

Message par Mindphazer »

Formidable !
Grâce à ton bout de code et au lien que tu m'as donné, j'ai pu me plonger dans les méandres du protocole telnet....
J'ai ainsi pu obtenir un début de commencement de ce que je voulais faire.
Merci à toi
Et si un jour tu passes par la Savoie, c'est avec joie que je te paierai l'apéro !

:P :P
fweil
Messages : 505
Inscription : dim. 16/mai/2004 17:50
Localisation : Bayonne (64)
Contact :

Message par fweil »

Mindphazer,

1 - OK pour l'apéro c'est noté ... j'adore les montagnes et la Savoie en particulier.

2 - Accessoirement tu veux connecter sur quel genre de serveur telnet ? Moi je ne dispose pas d'un serveur de test pour jouer avec, mais ça m'intéresse de voir ce que l'on peut en faire. J'utilise le principe de la connexion ouverte pour pas mal de choses, mais je n'ai pas eu de besoin en Telnet de base. En tout cas si tu as un jeu d'essai ou de démo pour montrer un client / serveur Telnet ce sera sympa de partager cela.
Mon avatar reproduit l'image de 4x1.8m présentée au 'Salon international du meuble de Paris' en janvier 2004, dans l'exposition 'Shades' réunisant 22 créateurs autour de Matt Sindall. L'original est un stratifié en 150 dpi.
Avatar de l’utilisateur
Mindphazer
Messages : 695
Inscription : mer. 24/août/2005 10:42

Message par Mindphazer »

Bon, je suis encore loin d'avoir résolu tous mes problèmes, mais ça avance.
En gros, je me connecte à un serveur Digital afin d'y lancer des programmes pour mon boulot. Ca m'évite de taper des lignes de commande et surtout ça permettra à mes utilisateurs de faire les manipulations sans avoir à connaitre de mot de passe et sans avoir à taper des lignes de commande.
J'avais d'abord pensé utiliser un telnet externe scriptable, que je lance depuis purebasic avec un fichier contenant les lignes de connexion, mais pour un raison assez ténébreuse, ça ne fonctionne qu'à moitié (j'utilisais le programme Tera-Term, mais celui-ci, parfois, n'arrive pas à se connecter à mon serveur)
C'est pour cette raison que j'essaie de me lancer dans la programmation d'un mini client telnet, mais j'avoue que c'est beaucoup plus complexe qu'in n'y paraît.....
Bref, dès que j'arrive à obtenir quelque chose , je ne manquerai pas d'en faire profiter tous ceux que ça pourrait intéresser.......
Golfy
Messages : 423
Inscription : mer. 25/août/2004 15:14
Localisation : Grenoble
Contact :

Message par Golfy »

Est-ce que le projet telnet a aboutit ? je suis très intéressé :wink:
Avatar de l’utilisateur
Mindphazer
Messages : 695
Inscription : mer. 24/août/2005 10:42

Message par Mindphazer »

Eh bien écoute, pour le moment non. Je n'ai pas avancé, je n'ai pas eu le temps de me pencher sur tous les problèmes.
Je suis passé par une toute autre méthode qui me satisfait mais qui n'utilise absolument pas de connexion telnet.....
Répondre