python和shell实现的校验IP地址合法性脚本分享


Posted in Python onOctober 23, 2014

一、python校验IP地址合法性

执行效果:

python和shell实现的校验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地址合法性

执行校果:
  返回值0校验合法,非0不合法。

python和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
Python 相关文章推荐
Python开发编码规范
Sep 08 Python
python 实现归并排序算法
Jun 05 Python
python定时器使用示例分享
Feb 16 Python
跟老齐学Python之Python文档
Oct 10 Python
用python与文件进行交互的方法
Mar 01 Python
django js实现部分页面刷新的示例代码
May 28 Python
python使用Plotly绘图工具绘制散点图、线形图
Apr 02 Python
python实现连续变量最优分箱详解--CART算法
Nov 22 Python
python词云库wordcloud的使用方法与实例详解
Feb 17 Python
Selenium基于PIL实现拼接滚动截图
Apr 10 Python
基于Python组装jmx并调用JMeter实现压力测试
Nov 03 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
Dec 29 Python
探寻python多线程ctrl+c退出问题解决方案
Oct 23 #Python
纯Python开发的nosql数据库CodernityDB介绍和使用实例
Oct 23 #Python
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
Oct 23 #Python
使用Python开发windows GUI程序入门实例
Oct 23 #Python
手动实现把python项目发布为exe可执行程序过程分享
Oct 23 #Python
python文件操作整理汇总
Oct 21 #Python
Python中input和raw_input的一点区别
Oct 21 #Python
You might like
PHP企业级应用之常见缓存技术篇
2011/01/27 PHP
PHP URL路由类实例
2013/11/12 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
php禁用函数设置及查看方法详解
2016/07/25 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
Javascript之文件操作
2007/03/07 Javascript
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
关于viewport,Ext.panel和Ext.form.panel的关系
2009/05/07 Javascript
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
window.location不跳转的问题解决方法
2014/04/17 Javascript
用unescape反编码得出汉字示例
2014/04/24 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
函数window.open实现关闭所有的子窗口
2015/08/03 Javascript
AngularJS表单和输入验证实例
2016/11/02 Javascript
js神秘的电报密码 哈弗曼编码实现
2019/09/10 Javascript
layui问题之渲染数据表格时,仅出现10条数据的解决方法
2019/09/12 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
2019/12/29 Javascript
Node.js API详解之 string_decoder用法实例分析
2020/04/29 Javascript
使用Python获取并处理IP的类型及格式方法
2018/11/01 Python
python爬虫超时的处理的实例
2018/12/19 Python
详解Python正则表达式re模块
2019/03/19 Python
Linux上使用Python统计每天的键盘输入次数
2019/04/17 Python
python实现弹跳小球
2019/05/13 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
Python3常用内置方法代码实例
2019/11/18 Python
如何基于python测量代码运行时间
2019/12/25 Python
Python 爬虫性能相关总结
2020/08/03 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
2020/12/09 Python
会计的岗位职责
2014/03/15 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书
国庆节标语大全
2014/10/08 职场文书
心灵捕手观后感
2015/06/02 职场文书
Vue.Draggable实现交换位置
2022/04/07 Vue.js