py3 telnet如何快速下发大量配置
时间: 2023-06-20 15:06:04 浏览: 40
可以使用一个脚本来实现快速下发大量配置,以下是一个简单的示例:
```python
import telnetlib
HOST = "192.168.1.1"
user = "username"
password = "password"
tn = telnetlib.Telnet(HOST)
tn.read_until(b"Username: ")
tn.write(user.encode('ascii') + b"\n")
tn.read_until(b"Password: ")
tn.write(password.encode('ascii') + b"\n")
# 这里可以开始下发大量配置
# 每个配置以 telnet.write() 发送给设备
tn.write(b"exit\n")
```
在这个示例中,我们先用 `telnetlib` 连接到设备,然后输入用户名和密码。接下来,我们可以执行一个循环,将每个配置以 `tn.write()` 发送给设备。最后,我们退出 telnet 连接。
你需要在循环中添加你要下发的配置,以及处理设备返回的响应。具体的配置语句需要根据你的设备和需求进行相应的调整。
相关问题
py3 telnet read_all
在 Python 3 中,telnetlib 模块提供了 Telnet 客户端实现。要读取所有传入数据,可以使用 Telnet 对象的 read_all() 方法。这个方法会一直等待,直到 Telnet 连接关闭,然后返回所有接收到的数据。
以下是一个简单的示例:
```
import telnetlib
# 连接 Telnet 服务器
tn = telnetlib.Telnet('example.com', 23)
# 发送命令
tn.write(b'ls\n')
# 读取所有数据
data = tn.read_all().decode('utf-8')
print(data)
# 关闭 Telnet 连接
tn.close()
```
在这个示例中,我们连接到一个 Telnet 服务器,发送了一个 ls 命令,并使用 read_all() 方法读取了所有返回的数据。最后,我们将数据解码为 UTF-8 字符串并打印出来。然后关闭 Telnet 连接。
py3 telnet read_all读取锐捷设备回显
可以使用 Python 的 telnetlib 模块来实现读取锐捷设备的回显。以下是一个示例代码:
```python
import telnetlib
# 连接锐捷设备
tn = telnetlib.Telnet("192.168.1.1")
# 登录设备
tn.read_until(b"Username:")
tn.write(b"admin\n")
tn.read_until(b"Password:")
tn.write(b"password\n")
# 执行命令
tn.write(b"show version\n")
# 读取回显
output = tn.read_all().decode('ascii')
print(output)
# 关闭连接
tn.close()
```
在上述代码中,首先使用 telnetlib.Telnet() 函数连接到锐捷设备,然后使用 tn.read_until() 函数读取输入提示符(例如“Username:”)。接着使用 tn.write() 函数向设备发送命令,并使用 tn.read_all() 函数读取设备的回显。最后使用 tn.close() 函数关闭连接。注意,需要将读取的字节流解码为字符串形式,以便于打印输出。