此ip地址已被封锁 群辉_【工具】IP地址可用性检查工具

前几日,管虚拟化的小哥,在创建一台虚拟机时,使用了一个之前已使用过的地址,而比较巧的是,这台主机正是我申请的,记得当时,眼睁睁地看着小哥哥把地址给敲上去......

好吧,此事已经过去,损失不太惨重,但也不得不引起我们的思考,(其实主要是反省),我们的网络由网工负责,而虚拟机的IP地址又交由其它人在管理,难免出错,作为一名经验丰富的蜘蛛侠,我提供了一个脚本给小哥:

import os
arplist = [] 
swiplist = ['10.93.1.1','10.30.0.254'] 
ipaddr = input('输入要查询的IP地址或者MAC(格式xx:xx:xx:xx:xx:xx)地址:') 
def snmpwalk(host,fuc):
	result = os.popen('snmpwalk -v 2c -c public %s %s'%(host,fuc)).read().split('n')
	return result
for x in swiplist:
	arplist += snmpwalk(x,'1.3.6.1.2.1.4.22.1.2')
for y in arplist:
	if ipaddr in y:
		print('n',y,'n')
		exit()

简单好用,部署方法:开启核心交换机的snmp功能,只读community默认的public。

思科交换机开启方法:
 snmp-server community read RO public
H3C交换机开启方法:
snmp-agent
 snmp-agent community read public

然后,将上述脚本保存为py文件,在有python环境并已安装snmpwalk的电脑上运行就行啦。

重点说说原理:

交换机可以通过SNMP来查询到交换机的ARP表,这些表象中就包括IP地址与MAC地址的绑定关系,此脚本是将查询到的ARP结果进行筛选,如果输入的iP或者MAC已经存在于核心交换机的ARP表中,则说明该地址已经被使用,不可再用,如果没有,则显示空白。

地址重复的情况,执行结果如下:

bef4edb70886c02ecae6299478dacc92.png

地址不重复的情况,执行结果如下:

3591d5eeaf2006fa45042f03e0378d6c.png

好了,今天就到这里,欢迎给我留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值