20个华为路由器常用的Python脚本,网工写自动化脚本时候可以参考!

简介: 20个华为路由器常用的Python脚本,网工写自动化脚本时候可以参考!

你好,这里是网络技术联盟站。

昨天给大家介绍了10个华为交换机的Python脚本:

大家反响不错,后期我会陆续出一下思科、H3C、锐捷等厂商的脚本,前期会分享简单的,单一的脚本,后面会分享复杂的脚本,大家及时给公众号加星标⭐哦,这样每天都能及时接收到公众号文章!

今天给大家分享20个常用的Python脚本,用于控制和管理华为路由器:

1、登录和退出路由器:

import telnetlib

HOST = "192.168.1.1"
user = "admin"
password = "admin"

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")

tn.write(b"quit\n")

2、获取路由器的系统信息:

import paramiko

host = "192.168.1.1"
port = 22
username = "admin"
password = "admin"

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, port=port, username=username, password=password)

stdin, stdout, stderr = client.exec_command("display version")

for line in stdout:
    print(line.strip())

client.close()

3、配置路由器端口:

import telnetlib

HOST = "192.168.1.1"
user = "admin"
password = "admin"

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")

tn.write(b"system-view\n")
tn.write(b"interface GigabitEthernet0/0/1\n")
tn.write(b"ip address 192.168.2.1 255.255.255.0\n")
tn.write(b"quit\n")

tn.write(b"quit\n")

4、查看路由器端口状态:

import paramiko

host = "192.168.1.1"
port = 22
username = "admin"
password = "admin"

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, port=port, username=username, password=password)

stdin, stdout, stderr = client.exec_command("display interface GigabitEthernet0/0/1")

for line in stdout:
    print(line.strip())

client.close()

5、配置路由器的SNMP:

import telnetlib

HOST = "192.168.1.1"
user = "admin"
password = "admin"

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")

tn.write(b"system-view\n")
tn.write(b"snmp-agent sys-info version all\n")
tn.write(b"snmp-agent community read public\n")
tn.write(b"snmp-agent target-host trap address udp-domain 192.168.2.2 params securityname public\n")
tn.write(b"quit\n")

tn.write(b"quit\n")

6、配置路由器的ACL:

import telnetlib

HOST = "192.168.1.1"
user = "admin"
password = "admin"

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")

tn.write(b"system-view\n")

tn.write(b"acl number 2000\n")
tn.write(b"rule 5 permit source 192.168.2.0 0.0.0.255\n")
tn.write(b"quit\n")

tn.write(b"interface GigabitEthernet0/0/1\n")
tn.write(b"ip address 192.168.2.1 255.255.255.0\n")
tn.write(b"traffic-filter inbound acl 2000\n")
tn.write(b"quit\n")

tn.write(b"quit\n")

7、配置路由器的静态路由:

import telnetlib

HOST = "192.168.1.1"
user = "admin"
password = "admin"

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")

tn.write(b"system-view\n")
tn.write(b"ip route-static 192.168.3.0 255.255.255.0 192.168.2.2\n")
tn.write(b"quit\n")

tn.write(b"quit\n")

8、配置路由器的NAT:

import telnetlib

HOST = "192.168.1.1"
user = "admin"
password = "admin"

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")

tn.write(b"system-view\n")
tn.write(b"interface GigabitEthernet0/0/0\n")
tn.write(b"nat enable\n")
tn.write(b"quit\n")

tn.write(b"nat address-group 1 192.168.2.0 0.0.0.255\n")
tn.write(b"nat server protocol tcp global 202.96.209.5 inside 192.168.2.100 80\n")
tn.write(b"quit\n")

tn.write(b"quit\n")

9、配置路由器的DHCP:

import telnetlib

HOST = "192.168.1.1"
user = "admin"
password = "admin"

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")

tn.write(b"system-view\n")
tn.write(b"dhcp enable\n")
tn.write(b"interface GigabitEthernet0/0/1\n")
tn.write(b"dhcp server excluded-ip-address 192.168.2.1\n")
tn.write(b"dhcp server pool 1\n")
tn.write(b"network 192.168.2.0 mask 255.255.255.0\n")
tn.write(b"gateway-list 192.168.2.1\n")
tn.write(b"dns-list 8.8.8.8 8.8.4.4\n")
tn.write(b"quit\n")

tn.write(b"quit\n")

10、查看路由器的ARP表:

import paramiko

host = "192.168.1.1"
port = 22
username = "admin"
password = "admin"

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, port=port, username=username, password=password)

stdin, stdout, stderr = client.exec_command("display arp")
arp_table = stdout.readlines()

for line in arp_table:
    print(line.strip())

client.close()

11、查看路由器的MAC地址表:

import paramiko

host = "192.168.1.1"
port = 22
username = "admin"
password = "admin"

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, port=port, username=username, password=password)

stdin, stdout, stderr = client.exec_command("display mac-address")
mac_table = stdout.readlines()

for line in mac_table:
    print(line.strip())

client.close()

12、查看路由器的路由表:

import paramiko

host = "192.168.1.1"
port = 22
username = "admin"
password = "admin"

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, port=port, username=username, password=password)

stdin, stdout, stderr = client.exec_command("display ip routing-table")
route_table = stdout.readlines()

for line in route_table:
    print(line.strip())

client.close()

13、查看路由器的接口状态:

import paramiko

host = "192.168.1.1"
port = 22
username = "admin"
password = "admin"

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, port=port, username=username, password=password)

stdin, stdout, stderr = client.exec_command("display interface brief")
interface_table = stdout.readlines()

for line in interface_table:
    print(line.strip())

client.close()

14、查看路由器的系统资源使用情况:

import paramiko

host = "192.168.1.1"
port = 22
username = "admin"
password = "admin"

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, port=port, username=username, password=password)

stdin, stdout, stderr = client.exec_command("display system resource")
resource_info = stdout.readlines()

for line in resource_info:
    print(line.strip())

client.close()

15、查看路由器的系统版本:

import paramiko

host = "192.168.1.1"
port = 22
username = "admin"
password = "admin"

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, port=port, username=username, password=password)

stdin, stdout, stderr = client.exec_command("display version")
version_info = stdout.readlines()

for line in version_info:
    print(line.strip())

client.close()

16、查看路由器的运行时间:

import paramiko

host = "192.168.1.1"
port = 22
username = "admin"
password = "admin"

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, port=port, username=username, password=password)

stdin, stdout, stderr = client.exec_command("display clock")
clock_info = stdout.readlines()

for line in clock_info:
    print(line.strip())

client.close()

17、查看路由器的接口详细信息:

import paramiko

host = "192.168.1.1"
port = 22
username = "admin"
password = "admin"

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, port=port, username=username, password=password)

stdin, stdout, stderr = client.exec_command("display interface")
interface_info = stdout.readlines()

for line in interface_info:
    print(line.strip())

client.close()

18、查看路由器的NAT转换表:

import paramiko

host = "192.168.1.1"
port = 22
username = "admin"
password = "admin"

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, port=port, username=username, password=password)

stdin, stdout, stderr = client.exec_command("display nat session table")
nat_table = stdout.readlines()

for line in nat_table:
    print(line.strip())

client.close()

19、查看路由器的DNS服务器列表:

import paramiko

host = "192.168.1.1"
port = 22
username = "admin"
password = "admin"

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, port=port, username=username, password=password)

stdin, stdout, stderr = client.exec_command("display dns server")
dns_info = stdout.readlines()

for line in dns_info:
    print(line.strip())

client.close()

20、查看路由器的DHCP服务器配置:

import paramiko

host = "192.168.1.1"
port = 22
username = "admin"
password = "admin"

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=host, port=port, username=username, password=password)

stdin, stdout, stderr = client.exec_command("display dhcp server configuration")
dhcp_info = stdout.readlines()

for line in dhcp_info:
    print(line.strip())

client.close()

这些Python脚本可以帮助你快速查看华为路由器的各种信息,也可以作为开发的基础,进行更多高级的操作和自动化任务。

目录
相关文章
|
3月前
|
JSON 算法 API
深度分析小红书城API接口,用Python脚本实现
小红书作为以UGC内容为核心的生活方式平台,其非官方API主要通过移动端抓包解析获得,涵盖内容推荐、搜索、笔记详情、用户信息和互动操作等功能。本文分析了其接口体系、认证机制及请求规范,并提供基于Python的调用框架,涉及签名生成、登录态管理与数据解析。需注意非官方接口存在稳定性与合规风险,使用时应遵守平台协议及法律法规。
|
3月前
|
JSON API 数据安全/隐私保护
【干货满满】分享微店API接口到手价,用python脚本实现
微店作为知名社交电商平台,其开放平台提供商品查询、订单管理等API接口。本文介绍如何通过微店API获取商品到手价(含优惠、券等),涵盖认证机制、Python实现及关键说明。
|
3月前
|
JSON API 数据格式
深度分析大麦网API接口,用Python脚本实现
大麦网为国内领先演出票务平台,提供演唱会、话剧、体育赛事等票务服务。本文基于抓包分析其非官方接口,并提供Python调用方案,涵盖演出列表查询、详情获取及城市列表获取。需注意非官方接口存在稳定性风险,使用时应遵守平台规则,控制请求频率,防范封禁与法律风险。适用于个人学习、演出信息监控等场景。
|
11天前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
143 2
|
29天前
|
人工智能 监控 Kubernetes
77_自动化脚本:Makefile与Airflow
在当今AI大模型时代,高效的工作流管理对于模型训练、推理和部署至关重要。随着大模型规模的不断增长和复杂度的提升,传统的手动脚本管理方式已无法满足需求。自动化脚本和工作流调度系统成为构建健壮、可重复、可扩展的LLM Pipeline的关键工具。其中,Makefile作为经典的自动化构建工具,与Airflow作为现代工作流调度平台的结合,为LLM开发团队提供了强大的工作流管理能力。
|
3月前
|
JSON API 开发者
深度分析阿里妈妈API接口,用Python脚本实现
阿里妈妈是阿里巴巴旗下营销平台,提供淘宝联盟、直通车等服务,支持推广位管理、商品查询等API功能。本文详解其API调用方法,重点实现商品推广信息(佣金、优惠券)获取,并提供Python实现方案。
|
3月前
|
JSON API 数据安全/隐私保护
深度分析虾皮城API接口,用Python脚本实现
虾皮开放平台提供丰富的API接口,支持商品管理、订单处理及促销信息查询等功能。本文详解API认证机制与调用方法,基于Python实现商品价格及到手价获取方案,适用于电商数据分析与运营。
|
2月前
|
数据采集 监控 Shell
无需Python:Shell脚本如何成为你的自动化爬虫引擎?
Shell脚本利用curl/wget发起请求,结合文本处理工具构建轻量级爬虫,支持并行加速、定时任务、增量抓取及分布式部署。通过随机UA、异常重试等优化提升稳定性,适用于日志监控、价格追踪等场景。相比Python,具备启动快、资源占用低的优势,适合嵌入式或老旧服务器环境,复杂任务可结合Python实现混合编程。
|
3月前
|
API 数据安全/隐私保护 开发者
深度分析苏宁API接口,用Python脚本实现
深度分析苏宁API接口,用Python脚本实现

推荐镜像

更多
下一篇
开通oss服务