IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Erreur Client Telnet


Sujet :

VB.NET

  1. #1
    Membre du Club Avatar de aus3004
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 74
    Points : 47
    Points
    47
    Par défaut Erreur Client Telnet
    Bonsoir,

    Je suis en train de faire un client telnet mais j'ai deux bug dans mon code. Le premier est que la textbox1 n'affiche pas les commandes effectuées, je comprend pas pourquoi le .ReadToEnd ne fonctionne pas, faut t-il que toutes les opérations soient faites pour que cela marche ?
    Le second fait tourner en rond le prog, c'est à mon avis une erreur de syntaxe au niveau de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (sOut.ReadToEnd).Contains("login:") Then
    Peut être que c'est encore le .ReadToEnd

    Pour activer le telnet sur votre vista/7 allez dans Démarrer> panneau de conf.> programmes> activer ou désactiver des fonctions windows. Puis cochez "Client Telnet".
    Dans un projet vb.net, mettez une textbox1 avec ce code dans un bouton.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Dim myProcess As Process = New Process()
            myProcess.StartInfo.FileName = "cmd.exe"
            myProcess.StartInfo.UseShellExecute = False
            myProcess.StartInfo.CreateNoWindow = True
            myProcess.StartInfo.RedirectStandardInput = True
            myProcess.StartInfo.RedirectStandardOutput = True
            myProcess.StartInfo.RedirectStandardError = True
            myProcess.Start()
            Dim sIn As StreamWriter = myProcess.StandardInput
            sIn.AutoFlush = True
            Dim sOut As StreamReader = myProcess.StandardOutput
            Dim sErr As StreamReader = myProcess.StandardError
     
            sIn.Write("telnet 192.168.1.1" & System.Environment.NewLine)
            TextBox1.Text = sOut.ReadToEnd
            System.Windows.Forms.Application.DoEvents()
     
            If (sOut.ReadToEnd).Contains("login:") Then
                sIn.Write("root" & System.Environment.NewLine)
            End If
            TextBox1.Text = sOut.ReadToEnd
            System.Windows.Forms.Application.DoEvents()
            If (sOut.ReadToEnd).Contains("Password:") Then
                sIn.Write("1234" & System.Environment.NewLine)
            End If
            TextBox1.Text = sOut.ReadToEnd
            System.Windows.Forms.Application.DoEvents()
            If (sOut.ReadToEnd).Contains("You are not allowed to log in in the next 15 seconds") Then
                MessageBox.Show("La connexion à échouée !", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End If
            TextBox1.Text = sOut.ReadToEnd
            System.Windows.Forms.Application.DoEvents()
            If Not myProcess.HasExited Then
                myProcess.Kill()
                MessageBox.Show("La connexion est terminée.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If
     
            'sIn.Write("exit" & System.Environment.NewLine)
            sIn.Close()
            sOut.Close()
            sErr.Close()
            myProcess.Close()

    Merci par avance pour votre générosité intellectuelle

  2. #2
    Membre habitué Avatar de anonymousse
    Profil pro
    Inscrit en
    Février 2011
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 130
    Points : 170
    Points
    170
    Par défaut
    Bonjour,

    As-tu visité ce lien, il y a peut-être ton bonheur :

    http://www.vbdotnetforums.com/net-so...basic-net.html

    mousse
    Mousse

  3. #3
    Membre du Club Avatar de aus3004
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 74
    Points : 47
    Points
    47
    Par défaut
    Merci d'avoir répondu (car je commençais vraiment à désespérer).

    Mais la source de codeproject.com est en C et le Rebex c'est payant.
    Tu vois pas le petit blème dans le code ? Il faudrait peut être changer le mode de lecture des commandes... ?

  4. #4
    Membre habitué Avatar de anonymousse
    Profil pro
    Inscrit en
    Février 2011
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 130
    Points : 170
    Points
    170
    Par défaut
    bonjour,

    il faut peut-être adapter ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim WaitLogin As Integer = session.WaitFor("Login:")
     
    If WaitLogin= 0 Then
    mousse
    Mousse

  5. #5
    Membre du Club Avatar de aus3004
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 74
    Points : 47
    Points
    47
    Par défaut
    Oui, t'as raison l'erreur dans le code est que le programme lis tout le code sans attendre la réponse du Telnet.
    Je vais jeter un coup d'oeil au WaitFor ou d'un autre moyen semblable.
    A+

  6. #6
    Membre du Club Avatar de aus3004
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 74
    Points : 47
    Points
    47
    Par défaut
    Le code a été très simplifié mais il est fonctionnel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Shell("telnet.exe 192.168.1.1")
                Sleep(5000)
                SendKeys.SendWait("root" & vbCr)
                Sleep(5000)
                SendKeys.SendWait("1234" & vbCr)
                Sleep(5000)
                SendKeys.SendWait("reboot" & vbCr)
                Sleep(5000)
                KillProcess("telnet")

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Client Telnet sous WinDev
    Par nabmed dans le forum WinDev
    Réponses: 10
    Dernier message: 21/01/2015, 18h24
  2. Client telnet en c
    Par yartempion dans le forum C
    Réponses: 4
    Dernier message: 01/06/2007, 02h52
  3. [PowerBuilder] Client Telnet sous Power builder 10
    Par ppronzola dans le forum Powerbuilder
    Réponses: 1
    Dernier message: 30/01/2006, 14h22
  4. erreur Client UDP
    Par innosang dans le forum Réseau
    Réponses: 6
    Dernier message: 04/01/2006, 09h33
  5. Client Telnet
    Par ppronzola dans le forum Windows
    Réponses: 1
    Dernier message: 02/12/2005, 13h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo