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

一、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地址合法性

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

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

(0)

相关推荐

  • Python使用MD5加密字符串示例

    Python加密模块有好几个,但无论是哪种加密方式都需要先导入相应的加密模块然后再使用模块对字符串加密. 先导入md5加密所需模块: 复制代码 代码如下: import hashlib 创建md5对象 复制代码 代码如下: m = hashlib.md5() 生成加密串,其中 password 是要加密的字符串 复制代码 代码如下: m.update('password') 获取加密串 复制代码 代码如下: psw = m.hexdigest() 输出 复制代码 代码如下: print psw

  • 用Python和MD5实现网站挂马检测程序

    一.程序测试 复制代码 代码如下: # python check_change.py Usage: python check_change.py update /home/wwwroot           python check_change.py check /home/wwwroot # python check_change.py update /data/www #生成站点的md5值# echo ' ' > /data/www/sitemap.html #测试清空文件# rm -rf

  • 利用Python生成文件md5校验值函数的方法

    前言 在linux有个命令叫做md5sum,能生成文件的md5值,一般情况下都会将结果记录到一个文件中用于校验使用,比如会这样使用: [crazyant@localhost PythonMd5]$ more sample_file www.crazyant.net www.51projob.com [crazyant@localhost PythonMd5]$ md5sum sample_file > sample_file.md5file [crazyant@localhost PythonM

  • Python中使用md5sum检查目录中相同文件代码分享

    复制代码 代码如下: """This module contains code from Think Python by Allen B. Downey http://thinkpython.com Copyright 2012 Allen B. Downey License: GNU GPLv3 http://www.gnu.org/licenses/gpl.html """ import os def walk(dirname):     &

  • Python的加密模块md5、sha、crypt使用实例

    MD5(Message-Digest Algorithm 5) 模块用于计算信息密文(信息摘要),得出一个128位的密文.sha模块跟md5相似,但生成的是160位的签名.使用方法是相同的. 如下实例是使用md5的: 复制代码 代码如下: # /usr/bin/python # -*- coding:utf-8 -*- import base64 try:     import hashlib     hash = hashlib.md5() except ImportError:     #

  • 一个计算身份证号码校验位的Python小程序

    S = Sum(Ai * Wi), i=0,.......16 (现在的身份证号码都是18位长,其中最后一位是校验位,15位的身份证号码好像不用了) Ai对应身份证号码,Wi则为用于加权计算的值,它一串固定的数值,应该是根据某种规则得出的吧,用于取得最好的随机性,Wi的取之如下: 7   9 10 5 8   4   2   1 6   3   7   9 10  5   8   4   2 经过加权计算之后,得到一个S,用这个S去模11,取余值,然后查表得到校验位,这个索引表如下: 0 ---

  • Python MD5文件生成码

    import md5 import sys def sumfile(fobj): m = md5.new() while True: d = fobj.read(8096) if not d: break m.update(d) return m.hexdigest() def md5sum(fname): if fname == '-': ret = sumfile(sys.stdin) else: try: f = file(fname, 'rb') except: return 'Fail

  • python文件的md5加密方法

    本文实例讲述了python文件的md5加密方法.分享给大家供大家参考,具体如下: 简单模式: from hashlib import md5 def md5_file(name): m = md5() a_file = open(name, 'rb') #需要使用二进制格式读取文件内容 m.update(a_file.read()) a_file.close() return m.hexdigest() if __main__ == '__init__': print md5_file('d:/

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

    一.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) !=

  • Python实现一个转存纯真IP数据库的脚本分享

    前言 之前写过很多关于扫描脚本的文章,一直都没写自己的扫描IP段是哪里搞来的,也会有朋友经常来问一些扫描经验,说实话我觉得这个工具并没有实际的技术含量,但是能提高工作效率,就共享出来给大家耍耍- 谈到扫描经验,我个人通常都会针对不同的设备,不同的应用选择不同类型的段. 比如我现在扫描的目标是一款电信光猫,那自然是选择电信的IP段,光猫一般是家庭用户,我们筛选下家庭用户的活跃IP段,这样我们就有针对性了. 再比如我现在想扫一款企业路由设备,那么我就可以选择企业公司多的段. 纯真IP真心是个不错的工

  • 详解Python判定IP地址合法性的三种方法

    IP合法性校验是开发中非常常用的,看起来很简单的判断,作用确很大,写起来比较容易出错,今天我们来总结一下,看一下3种常用的IP地址合法性校验的方法. IPv4的ip地址格式:(1~255).(0~255).(0~255).(0~255) 方法1: 正则表达式判定法 最简单的实现方法是构造一个正则表达式.判断用户的输入与正则表达式是否匹配.若匹配则是正确的IP地址,否则不是正确的IP地址. 复制代码 代码如下: ^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(

  • python使用Flask框架获取用户IP地址的方法

    本文实例讲述了python使用Flask框架获取用户IP地址的方法.分享给大家供大家参考.具体如下: 下面的代码包含了html页面和python代码,非常详细,如果你正使用Flask,也可以学习一下最基本的Flask使用方法. python代码如下: from flask import Flask, render_template, request # Initialize the Flask application app = Flask(__name__) # Default route,

  • Codeigniter校验ip地址的方法

    本文实例讲述了Codeigniter校验ip地址的方法.分享给大家供大家参考.具体分析如下: 这里演示了Codeigniter如何获取用户ip地址,同时校验ip地址的有效性 获取用户ip: $this->input->ip_address(); //如果ip获取失败,则返回 0.0.0.0,我们也可以使用下面的代码校验ip的有效性 $ip = "192.168.1.1"; if (!$this->input->valid_ip($ip)) { echo &quo

  • Python简单获取网卡名称及其IP地址的方法【基于psutil模块】

    本文实例讲述了Python简单获取网卡名称及其IP地址的方法.分享给大家供大家参考,具体如下: windows上想知道网卡和IP地址,可以使用ipconfig命令,在linux上可以使用ifconfig命令,得到输出后,可以解析输出内容,我要介绍的方法更为简单,只需要安装一个名为psutil的第三方库即可 # -*- coding: utf-8 -*- #! python2 import psutil #获取网卡名称和其ip地址,不包括回环 def get_netcard(): netcard_

  • Python实现通过解析域名获取ip地址的方法分析

    本文实例讲述了Python实现通过解析域名获取ip地址的方法.分享给大家供大家参考,具体如下: 从网上查找的一些资料,特此做个笔记 案例1: def getIP(domain): myaddr = socket.getaddrinfo(domain, 'http') print(myaddr[0][4][0]) 执行函数 getIP("www.google.com") 案例2: def get_ip_list(domain): # 获取域名解析出的IP列表 ip_list = [] t

  • python 匹配url中是否存在IP地址的方法

    因为需要检测一个一个链接中是否包含了IP地址,在这里需要使用到正则表达式 ,python完美的支持了正则表达式,在这里使用re模块来完成,对正则表达式并不是很熟练,每次都是需要用的时候现查一下然后写一下,这里给出来自己的代码以及借鉴别人的匹配模式 #!/usr/bin/env python # -*- coding: utf-8 -*- ''' 功能:对于给定的URL,检测其中是否包含IP ''' import re def ip_exist_two(one_url): compile_rule

  • 使用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:  #

  • Shell脚本实现IP地址合法性判断

    做unix/linux下的开发,脚本编写的功力是少不了的,作为shell编程,也是博大精深的一个技术领域,这里为了学习,就写一个简单的判断IP地址是否合法的微型脚本程序,这个小程序也是非常有用的. IP地址是32位的,可以由4个十进制数值表示,每个数值的范围都是0~255. 复制代码 代码如下: #!/bin/bash # Test an IP address for validity: # Usage: #      valid_ip IP_ADDRESS #      if [[ $? -e

随机推荐