使用shell及python分別判斷某個IP是否在白名單

一、shell腳本以下:

[root@mysql01 ~]# 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

二、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()
相關文章
相關標籤/搜索