python和shell实现的校验IP地址合法性脚本分享
发布时间:2020-12-17 07:26:40 所属栏目:Python 来源:网络整理
导读:一、python校验IP地址合法性 执行效果: python代码: 复制代码 代码如下: [root@yang python]# vi check_ip.py #!/usr/bin/python import os,sys def check_ip(ipaddr): import sys addr=ipaddr.strip().split('.') #切割IP地址为一个列表 #print addr if le
一、python校验IP地址合法性 执行效果: python代码: 复制代码 代码如下: [root@yang python]# vi check_ip.py #!/usr/bin/python import os,sys def check_ip(ipaddr): import sys addr=ipaddr.strip().split('.') #切割IP地址为一个列表 #print addr if len(addr) != 4: #切割后列表必须有4个参数 print "check ip address failed!" sys.exit() for i in range(4): try: addr[i]=int(addr[i]) #每个参数必须为数字,否则校验失败 except: print "check ip address failed!" sys.exit() if addr[i]<=255 and addr[i]>=0: #每个参数值必须在0-255之间 pass else: print "check ip address failed!" sys.exit() i+=1 else: print "check ip address success!" if len(sys.argv)!=2: #传参加本身长度必须为2 print "Example: %s 10.0.0.1 "%sys.argv[0] sys.exit() else: check_ip(sys.argv[1]) #满足条件调用校验IP函数 二、shell校验IP地址合法性 执行校果: shell代码: 复制代码 代码如下: [root@yang python]# vi check_ip.sh #!/usr/bin/sh CheckIPAddr() { echo $1|grep "^[0-9]{1,3}.([0-9]{1,3}.){2}[0-9]{1,3}$" > /dev/null; #IP地址必须为全数字 if [ $? -ne 0 ] then return 1 fi ipaddr=$1 a=`echo $ipaddr|awk -F . '{print $1}'` #以"."分隔,取出每个列的值 b=`echo $ipaddr|awk -F . '{print $2}'` c=`echo $ipaddr|awk -F . '{print $3}'` d=`echo $ipaddr|awk -F . '{print $4}'` for num in $a $b $c $d do if [ $num -gt 255 ] || [ $num -lt 0 ] #每个数值必须在0-255之间 then return 1 fi done return 0 } if [ $# -ne 1 ];then #判断传参数量 echo "Usage: $0 ipaddress." exit else CheckIPAddr $1 fi 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |