Отправка команд в Telnet
У меня есть форма, которую я делаю, которая позволяет мне выбрать линию и сбросить все порты на линии. Это делается через Telnet. Я понимаю, как подключать и отправлять IP-адрес, с которым я хочу работать, но я не понимаю, как отправлять команды для входа и сброса портов.
Настройка заключается в том, что, когда один или несколько флажков установлены для другой строки, он вызывает приватную подпрограмму для запуска строки перед началом следующей.
Я занимался поиском в интернете уже несколько дней. Последний код, который я попробовал, был следующим:
Dim TelnetClient As TcpClient
Dim ThisStream As NetworkStream
Dim SendBuffer(128) As Byte
Dim ReadBuffer(128) As Byte
Dim ReturnVal As String
Dim ReturnLength As Integer
TelnetClient = New TcpClient("Ip Address", 23)
ThisStream = TelnetClient.GetStream
SendBuffer = System.Text.Encoding.ASCII.GetBytes("Username")
ThisStream.Write(SendBuffer, 0, SendBuffer.Length)
ReturnLength = ThisStream.Read(ReadBuffer, 0, ReadBuffer.Length)
ReturnVal = System.Text.Encoding.ASCII.GetString(ReadBuffer)
SendBuffer = System.Text.Encoding.ASCII.GetBytes("Password")
ThisStream.Write(SendBuffer, 0, SendBuffer.Length)
Я ходил по кругу, пытаясь понять это.
Я попытался сделать Telnet через cmd.exe, но я продолжаю возвращаться с ошибками и отказался от этого маршрута.
Я также видел использование кода для поиска слов в Telnet.
Пример:
If message.ToString.EndsWith("login:") Then
Await WriteStringAsync("username", stream
Но не уверен на 100%, как полностью адаптировать его к тому, что я могу использовать. Любая помощь приветствуется.
Спасибо.
Редактировать: дополнительная информация.
У меня есть следующее в верхней части списка кодов
Imports System.IO
Imports System.Net
Imports System.Net.Sockets
Я новичок в использовании Telnet с vb.net. Однако почему это так сложно сделать в vb.net, а в Cmd.exe требуется всего шесть команд?