当前位置: 首页 > news >正文

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

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

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

  • 10个华为华为交换机常用的Python脚本,网络工程师收藏!

大家反响不错,后期我会陆续出一下思科、H3C、锐捷等厂商的脚本,前期会分享简单的,单一的脚本,后面会分享复杂的脚本!

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

1、登录和退出路由器:

import telnetlibHOST = "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 paramikohost = "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 telnetlibHOST = "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 paramikohost = "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 telnetlibHOST = "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 telnetlibHOST = "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 telnetlibHOST = "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 telnetlibHOST = "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 telnetlibHOST = "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 paramikohost = "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 paramikohost = "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 paramikohost = "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 paramikohost = "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 paramikohost = "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 paramikohost = "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 paramikohost = "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 paramikohost = "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 paramikohost = "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 paramikohost = "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 paramikohost = "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脚本可以帮助你快速查看华为路由器的各种信息,也可以作为开发的基础,进行更多高级的操作和自动化任务。

http://www.lryc.cn/news/44818.html

相关文章:

  • 【kubernetes云原生】k8s资源管理命令与Namespace使用详解
  • String源码深度刨析
  • FreeRTOS - 消息队列
  • 怎样正确做 Web 应用的压力测试?
  • php mysql大学生求职招聘资源信息网zkfdzkf67a8
  • 2023上海市“星光计划”职业院校技能大赛 网络安全竞赛试题任务书
  • Spring事务源码:创建代理类
  • java14 使用增强的模式匹配切换表达式
  • python【正则表达式】
  • Ubuntu常见系统问题解决方式
  • C/C++中的虚拟内存
  • Qt C++与Python混合编程:补充错误
  • 2023-04-01:当Go语言遇见FFmpeg视频解码器,使用Go语言改写decode_video.c文件,提升视频解码效率与开发体验。
  • Solidity 学习笔记
  • ThreadLocal原理
  • 串操作指令详解 MOVS,LODS,STOS,CMPS,SCAS,REP
  • Java实现判断素数
  • PHP初级教程------------------(2)
  • 【SQL开发实战技巧】系列(三十五):数仓报表场景☞根据条件返回不同列的数据以及Left /Full Join注意事项
  • springBoot自动配置过程介绍
  • PostgreSQL最后的救命稻草 — pg_resetwal
  • 彻底关闭Windows更新
  • Java正则表达式语法
  • 【2023-3-29】JavaScript使用promise顺序调用函数并抛出异常
  • Python实现GWO智能灰狼优化算法优化随机森林分类模型(RandomForestClassifier算法)项目实战
  • 从redis到epoll到mmap
  • STM32CubeMX快速构造工程模板(一)
  • Java Web中的ServletContext对象
  • 回归预测 | MATLAB实现PSO-RF粒子群算法优化随机森林多输入单输出回归预测
  • 在小公司工作3年,从事软件测试5年了,才发现自己还是处于“初级“水平,是不是该放弃....