仓酷云

标题: 给大家带来python与shell校验IP地点正当性 [打印本页]

作者: 金色的骷髅    时间: 2015-1-14 20:38
标题: 给大家带来python与shell校验IP地点正当性
欢迎大家来到仓酷云论坛!python校验IP地点正当性

实行效果:
给大家带来python与shell校验IP地点正当性
登录/注册后可看大图

python代码:
[root@yangpython]#vicheck_ip.py
#!/usr/bin/python
importos,sys
defcheck_ip(ipaddr):
importsys
addr=ipaddr.strip().split(.)#切割IP地点为一个列表
#printaddr
iflen(addr)!=4:#切割后列表必需有4个参数
print"checkipaddressfailed!"
sys.exit()
foriinrange(4):
try:
addr=int(addr)#每一个参数必需为数字,不然校验失利
except:
print"checkipaddressfailed!"
sys.exit()
ifaddr<=255andaddr>=0:#每一个参数值必需在0-255之间
pass
else:
print"checkipaddressfailed!"
sys.exit()
i+=1
else:
print"checkipaddresssuccess!"
iflen(sys.argv)!=2:#传列入自己长度必需为2
print"Example:%s10.0.0.1"%sys.argv[0]
sys.exit()
else:
check_ip(sys.argv[1])#满意前提挪用校验IP函数



shell校验IP地点正当性

实行校果:
前往值0校验正当,非0分歧法。


shell代码:
[root@yangpython]#vicheck_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[$?-ne0]
then
return1
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}`
fornumin$a$b$c$d
do
if[$num-gt255]||[$num-lt0]#每一个数值必需在0-255之间
then
return1
fi
done
return0
}
if[$#-ne1];then#判别传参数目
echo"Usage:$0ipaddress."
exit
else
CheckIPAddr$1
fi



如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
作者: 小魔女    时间: 2015-1-15 13:51
标题: 给大家带来python与shell校验IP地点正当性
发发呆,回回帖,工作结束~
作者: 再见西城    时间: 2015-1-27 05:29
对于英语不是很好的读者红旗 Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些Linux版本的免费下载,这里要说的是并不适合Linux初学者。
作者: 精灵巫婆    时间: 2015-2-5 10:11
甚至目前许多应用软件都是基于它的。可是没有哪一个系统是十分完美的。
作者: 活着的死人    时间: 2015-2-11 12:15
发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
作者: 小妖女    时间: 2015-3-2 14:27
当然你不需搭建所有服务,可以慢慢来。自己多动手,不要非等着别人帮你解决问题。
作者: 灵魂腐蚀    时间: 2015-3-11 06:34
熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种:
作者: 简单生活    时间: 2015-3-18 02:19
发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
作者: 山那边是海    时间: 2015-3-25 14:16
清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2