程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

网络运维:定时获取交换机ARP表(python)

hfteth 2025-06-23 19:17:13 技术文章 1 ℃

通过SSH登录交换机,定时获取交换机ARP表并保存到Excel文件的解决方案

脚本使用方法

1、安装依赖库:

pip install paramiko pandas schedule openpyxl

2、配置交换机信息:

在脚本的 switches 列表中添加你的交换机信息:

switches = [
{'host': '192.168.1.1', 'username': 'admin', 'password': 'password1'},
{'host': '192.168.1.2', 'username': 'admin', 'password': 'password2'}
]

3、执行脚本

python arp_monitor.py


功能特点

1、定时扫描,默认每小时执行一次,首次启动立即执行,可修改schedule.every().hour.do(job)调整频率

2、多交换机支持,可同时监控多台交换机,自动合并所有交换机的ARP记录

3、格式化的数据存储,每次扫描创建新的Excel工作表,工作表命名格式:ARP_日期_时间

文件自动追加,不覆盖历史数据,格式化内容包含时间戳、IP、MAC、接口和VLAN信息。


注意问题:

不同设备dis arp展现出的内容格式可能不同,正则匹配那里需要根据自己的设备情况进行微调:

match = re.match(r'(\d+\.\d+\.\d+\.\d+)\s+([0-9a-fA-F-]+)\s+\S+\s+(\S+)\s+(\S+)', line.strip())

效果:

Tags:

最近发表
标签列表