python与shell校验IP地址合法性

简介:

python校验IP地址合法性

执行效果:

wKiom1MN5XDDyM3rAAEwJDCIJR0946.jpg


python代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[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  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不合法。

wKioL1MN5UqAINbnAAD4BrmI99w080.jpg


shell代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[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






     本文转自杨云1028 51CTO博客,原文链接http://blog.51cto.com/yangrong/1363957:,如需转载请自行联系原作者





相关文章
|
2月前
|
Python
下载python所有的包 国内地址
下载python所有的包 国内地址
|
1月前
|
监控 网络协议 Shell
ip和ip网段攻击拦截系统-绿叶结界防火墙系统shell脚本
这是一个名为“小绿叶技术博客扫段攻击拦截系统”的Bash脚本,用于监控和拦截TCP攻击。通过抓取网络数据包监控可疑IP,并利用iptables和firewalld防火墙规则对这些IP进行拦截。同时,该系统能够查询数据库中的白名单,确保合法IP不受影响。此外,它还具备日志记录功能,以便于后续分析和审计。
49 6
|
1月前
|
网络协议 Python
IP地址探秘:识别与解析的Python之旅 🚀
《IP地址探秘:识别与解析的Python之旅》通过Python的`ipaddress`模块,轻松实现IP地址的分类(如单播、多播、私有、环回或公有)及子网内所有IP的生成,使网络管理更加便捷高效。示例代码直观展示了功能实现过程。
|
1月前
|
存储 自然语言处理 API
基于 Python 的地址解析:自动识别姓名、电话、地址、详细地址与省市区
基于 Python 的地址解析:自动识别姓名、电话、地址、详细地址与省市区
209 1
|
1月前
|
网络安全 Python
Python编程--目标IP地址段主机指定端口状态扫描
Python编程--目标IP地址段主机指定端口状态扫描
|
2月前
|
网络协议 网络安全 开发者
Python 向IP地址发送字符串
Python 向IP地址发送字符串
|
1月前
|
Linux Python
Python获得本机本地ip地址的方法
【10月更文挑战第8天】 socket模块包含了丰富的函数和方法,可以获取主机的ip地址,例如gethostbyname方法可以根据主机名获取ip地址,gethostbyname_ex方法可以获得本机所有ip地址列表,也可以使用netifaces模块获取网卡信息。
42 0
|
1月前
|
IDE API 定位技术
Python--API编程:IP地址翻译成实际的物理地址
Python--API编程:IP地址翻译成实际的物理地址
|
2月前
|
物联网 Python
python向IP地址发送字符串
python向IP地址发送字符串
|
3月前
|
Python
【Azure Developer】使用Python代码获取VM的IP地址 (Public IP + Private IP)【未解决问题标签】
【Azure Developer】使用Python代码获取VM的IP地址 (Public IP + Private IP)【未解决问题标签】
下一篇
无影云桌面