Python与Cisco路由器的USB转串口控制台电缆

0 投票
2 回答
2122 浏览
提问于 2025-04-17 07:12

好的,我在想有没有人能给我指个方向。我想用Python自动给思科路由器发送命令。主要是为了做一个自动配置程序,能和我们的电子表格结合起来(我希望能把这个电子表格转移到数据库里)。

我查了一下,发现了一些串口类,可以让我发送命令到路由器,但我有点困惑,因为我的知识还不够,无法判断这些类是否能满足我的需求。我需要的是:

1) 能检测路由器什么时候准备好接收命令,什么时候不准备好(这样我就可以设置程序等到路由器重启完成后再发送命令)。

2) 能读取配置(或者至少能读取我输入命令后的输出)(这样我就可以对配置进行自动质量检查)。

还有,最后让我困惑的是我的线缆(就是这个话题)。它是一根USB转串口的线,再加上一根串口转控制台的线。我看的那个库要么选择第n个串口,要么直接输入地址,我不确定这样是否能和我的线缆配合使用。

2 个回答

0

首先,查看下面的链接,了解如何为你的控制台-USB线安装驱动:

连接到串行控制台

然后,可以尝试在Linux和Windows上使用Minicom应用程序或Putty应用程序来获取你的配置。

1

通常情况下,你的操作系统要么自带驱动程序,要么你可以安装驱动程序,这样USB转串口适配器就会被识别为一个普通的串口(具体是一个编号或者名称,这取决于你的操作系统的习惯)。

pySerial这样的模块提供了可以用来从串口写入读取数据的功能。当你给路由器发送指令时,它会返回一些你可以读取的数据(这和你手动与路由器对话时看到的情况是一样的)。用伪代码表示的话,你可能会这样做:

read data from the router until it shows a "ready" prompt of some kind
while you have commands to send:
    send a command
    read the response, and keep reading until the next "ready" prompt

撰写回答