Connexion Telnet
- Mindphazer
- Messages : 695
- Inscription : mer. 24/août/2005 10:42
Connexion Telnet
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
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
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.
- Mindphazer
- Messages : 695
- Inscription : mer. 24/août/2005 10:42
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.....
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
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
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.
- Mindphazer
- Messages : 695
- Inscription : mer. 24/août/2005 10:42
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.
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.
- Mindphazer
- Messages : 695
- Inscription : mer. 24/août/2005 10:42
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.......
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.......
- Mindphazer
- Messages : 695
- Inscription : mer. 24/août/2005 10:42