使用shell及python分别判断某个IP是否在白名单

1、shell脚本如下:

[[email protected] ~]# cat a.sh
#!/bin/bash

            ##############   定义白名单列表  ###############
white_list=(
    192.168.20.2
    192.168.20.3
    192.168.20.4
    192.168.20.5
    )

            #############     定义脚本用法  ################
function USAGE(){
echo -e "\033[33m $0 的用法为:
         -i: 指定要进行判断的ip地址
 \033[0m"
}

        ############# 对脚本传参进行判断及变量赋值  ##############
if [[ $# -eq 0 ]] || [[ $1 == ‘-h‘ ]] || [[ $1 == ‘--help‘ ]];then
    USAGE
    exit 0
fi

while getopts ":i:" optname;do
    case "$optname" in
    "i")
    ip=$OPTARG
    ;;
    *)
    echo "该选项没有值!"
    USAGE
    exit 1
    ;;

    esac
done

    ########### 判断IP是否存在于白名单内   ################
if [[ ${white_list[@]} =~ $ip ]];then
    echo "$ip is in whitelist."
else
    echo "$ip is not in whitelist."
fi

2、python脚本如下(python版本为3.8):

‘‘‘
判断某个IP是否存在白名单列表
‘‘‘
# 1.定义白名单列表
white_list = {
    ‘192.168.20.2‘,
    ‘192.168.20.3‘,
    ‘192.168.20.4‘,
    ‘192.168.20.5‘
}

# 2.接收要进行判断的IP并作出判断
def main():
    ip = input(‘请输入要判断的IP地址:‘)
    if ip in white_list:
        print(ip + ‘在白名单内!‘)
    else:
        print(ip + "不在白名单内")

# 3.程序入口
if __name__ == ‘__main__‘:
    main()

原文地址:https://blog.51cto.com/14154700/2470855

时间: 2024-10-20 05:53:39

使用shell及python分别判断某个IP是否在白名单的相关文章

python教程判断一下一个 IP 在不在线?ping IP教程

假设今天老板给我们一个任务,让我们判断一下一个 IP 在不在线.我们随手用 python 写一个 ping IP 的代码: import os host = input('请输入要检测的 IP : ')result = os.popen('ping -c 1 -t 1 %s' % (host)).read() if 'ttl' in result: print('IP 在线')else: print('IP 不在线') [dl]15-4342[/dl] 现在,你作为一名审核代码的人员,不考虑代码

Python 获取本机IP地址

import socket #获取本机IP地址 self.local_ip = socket.gethostbyname(socket.gethostname()) print (self.local_ip) python 判断本机是否联网 1 timeout = 200 2 host = 'www.baidu.com' 3 port = 80 4 s=socket.socket() 5 s.settimeout(timeout) 6 status = s.connect_ex((host,po

Python自动化运维——IP地址处理模块

Infi-chu: http://www.cnblogs.com/Infi-chu/ 模块:IPy 功能:辅助我们高效的完成IP的规划工作 安装: wget https://pypi.python.org/packages/source/I/IPy/IPy-0.81.tar.gz --no-check-certificate tar -zxvf Ipy-0.81.tar.gz cd IPy-0.81 python setup.py install IP地址.网段的基本处理: 使用方法: #fro

如何判断自己IP是内网IP还是外网IP

tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255  172.16.0.0/12:172.16.0.0-172.31.255.255  192.168.0.0/16:192.168.0.0-192.168.255.255 使用保留地址的网络只能在内部进行通信,而不能与其他网络互连.如果要与外部通信,那么必须通过网关与外部通信,这里使用了NAT, NAPT技术就是用来保证通信的代理机制. 另外,一些宽带

python isinstance 判断各种类型的小细节

1. 基本语法 isinstance(object, classinfo) Return true if the object argument is an instance of the classinfo argument, or of a (direct, indirect or virtual) subclass thereof. Also return true if classinfo is a type object (new-style class) and object is

2.python if 判断 if elif 判断

python if判断 if elif 判断 a = 1; b = 1;b if  a>b: print(" a > b ") else: print(" a不大于b吧 ") if a>b: print(" a > b ") elif a<b: print(" a < b ") else: print(" a = b ") 注 : python 中 if 判断执行语句一定

shell vs python脚本监控http请求

各写一个shell和python脚本来监控http请求,并在服务不可用的时候重启服务. 监控的连接为: http://192.168.1.101:5022/product http://192.168.1.101:5024/module shell脚本如下,配合crontab计划任务每一分钟执行一次检查: #!/bin/bash # This shell is used to moniter 192.168.1.101 port 5022 & 5024 date  #在crontab里用来记录l

python中判断语句用两个or连接的奇葩

学python的时候犯的一个错误,放在这吧.就是在循环某个列表的时候不要去操作它,这是容易忽略的一个地方.所以如果要操作某个列表本身,那么先把该列表copy一份,然后再读取的时候读copy的那份.操作原来的列表. 正确的如下: import re a="hen/zg /zg qd/a /a ,/x /x hen/zg /zg xh/v /v " b=re.split('[ ]', a) b_copy=b[:] print b cixing=["/x","/

python脚本简单检测ip合法性并添加到白名单文件

一.功能说明 有时候项目需要通过ip地址来判定是否允许访问,通常通过一个白名单地址文件来存放这些允许放行的ip,但每次打开文件编辑比较麻烦,容易出错,也不知道是否添加过,故用python写了一个自动添加白名单的脚本. 二.脚本内容 #!/usr/bin/env python #coding:utf-8 #2017-06-09 ver:1.0 import sys white_list="white_list.txt" add_ip=sys.argv[1].strip() checkIp