我想创建一个工具,通过Telnet连接到网络设备并发送一些命令(类似于Expect,带有某些额外的要求),使用go-telnet。
目前我已经成功建立了连接并发送了一些像这样的命令:
func main() {
var loginBuffer = [6]byte{'r', 'o', 'o', 't', '\r', '\n'}
var login = loginBuffer[:]
conn, err := telnet.DialTo("10.10.10.2:23")
if nil != err {
fmt.Println(err)
}
defer conn.Close()
conn.Write(login)
}
使用Wireshark我可以看到设备有响应,但我无法读取任何响应数据。猜测我可能在错误地使用Read(),但不确定。希望能提供一个可行的示例或者解释如何在这种情况下捕获和处理响应数据。
bufio.Reader
中,然后使用它的ReadLine或ReadBytes方法来读取完整的行。 - kostix