单选题
717.现在需要实现一个 Python 自动化脚本 Te1net 到设备上查看设备运行配置。以 下说法错误的是?()
A
Telnetli
B
使用 telnet.Telnet (host)连接到 Telnet 服务器。
C
可以使用 telnet.write(b\ )向设备输入查看当前配置的命令。
D
telnet.c1ose()用在每一次输入命令后,作用是用户等待交换机回显信息。.
答案解析
正确答案:D
解析:
好的,让我们来详细解析这道题目的各个选项,并解释为什么选择 D 作为答案。
### 题目背景
题目要求实现一个 Python 脚本,通过 Telnet 协议连接到网络设备并查看设备的运行配置。我们需要判断哪个选项的说法是错误的。
### 选项解析
**A. Telnetlib 使用 `telnet.Telnet(host)` 连接到 Telnet 服务器。**
- **解析**:这是正确的。`telnetlib` 是 Python 标准库中的一个模块,用于实现 Telnet 客户端功能。`telnet.Telnet(host)` 是用来建立与 Telnet 服务器的连接的。
- **示例**:
```python
import telnetlib
host = "192.168.1.1"
tn = telnetlib.Telnet(host)
```
**B. 可以使用 `telnet.write(b'')` 向设备输入查看当前配置的命令。**
- **解析**:这也是正确的。`telnet.write()` 方法用于向 Telnet 服务器发送命令。命令需要以字节字符串的形式传递,因此使用 `b''` 来表示字节字符串。
- **示例**:
```python
command = b"show running-config\n"
tn.write(command)
```
**C. `telnet.close()` 用在每一次输入命令后,作用是用户等待交换机回显信息。**
- **解析**:这是错误的。`telnet.close()` 方法用于关闭 Telnet 连接,而不是在每次输入命令后使用。关闭连接通常是在所有操作完成后进行的。
- **正确做法**:
```python
# 发送命令
tn.write(b"show running-config\n")
# 等待回显信息
output = tn.read_until(b"#", timeout=10)
# 关闭连接
tn.close()
```
**D. `telnet.close()` 用在每一次输入命令后,作用是用户等待交换机回显信息。**
- **解析**:这是错误的。如前所述,`telnet.close()` 用于关闭 Telnet 连接,而不是在每次输入命令后使用。等待交换机回显信息应该使用 `telnet.read_until()` 或 `telnet.read_all()` 等方法。
- **正确做法**:
```python
# 发送命令
tn.write(b"show running-config\n")
# 等待回显信息
output = tn.read_until(b"#", timeout=10)
# 处理输出
print(output.decode('ascii'))
# 关闭连接
tn.close()
```
### 为什么选择 D 作为答案
选项 D 的描述是错误的,因为 `telnet.close()` 用于关闭 Telnet 连接,而不是在每次输入命令后使用。正确的做法是在所有操作完成后关闭连接,而等待交换机回显信息应该使用 `telnet.read_until()` 或 `telnet.read_all()` 等方法。
希望这些解析和示例能帮助你更好地理解这道题目的正确答案。如果你有任何其他问题或需要进一步的解释,请随时告诉我!
相关知识点:
Telnet脚本相关记D错
相关题目
单选题
128.数据链路层使用 ppp 封装,链路两端的 IP 地址可以不在同一个网段。
单选题
39.运行 SNMP 协议的网络设备可以主动上报告警信息以便网络管理员及时发现故障。
单选题
38.STA 发现无线网络的方式只有通过 AP 对外发送的 Beacon 帧。
单选题
37.IEEE 802.1lac 标准只支持 5GHz 频段。
单选题
36.Telnet 基于 TCP 协议。
单选题
35.二层组网中,如果发生环路则可能会导致广播风暴。
单选题
34.根桥交换机上所有的端口都是指定端口。
单选题
33.路由器进行数据包转发时需要修改数据包中的目的 IP 地址。
单选题
1058.哪些 WLAN 安全策路支持 open 方式的链路认证方式()
单选题
1057.以下关于 ACL 的匹配机制法正确的有()
