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:,如需转载请自行联系原作者





目录
打赏
0
0
0
0
348
分享
相关文章
[oeasy]python064_命令行工作流的总结_vim_shell_python
本文总结了命令行工作流中的关键工具和操作,包括vim、shell和Python。主要内容如下: 1. **上次回顾**:完成了输入输出的代码编写,并再次练习了vim的使用。 2. **shell基础**:介绍了shell环境及其基本命令,如`pwd`、`cd`、`ll -l`等。 3. **Python游乐场**:通过`python3`命令进入Python交互环境,可以进行简单计算和函数调用,常用函数有`help`、`ord`、`chr`等。 4. **vim编辑器**:详细讲解了vim的三种模式(正常模式、插入模式、底行命令模式)及其切换方法,以及常用的底行命令如`:w`、`:q`、`
90 15
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
83 20
下载python所有的包 国内地址
下载python所有的包 国内地址
使用Python执行Shell命令并获取结果
在实际应用中,可以根据需要选择适当的参数和方法来执行Shell命令,并处理可能出现的各种情况。无论是系统管理、自动化任务还是数据处理,掌握这些技巧都将极大地提高工作效率。
104 12
Python网络编程小示例:生成CIDR表示的IP地址范围
本文介绍了如何使用Python生成CIDR表示的IP地址范围,通过解析CIDR字符串,将其转换为二进制形式,应用子网掩码,最终生成该CIDR块内所有可用的IP地址列表。示例代码利用了Python的`ipaddress`模块,展示了从指定CIDR表达式中提取所有IP地址的过程。
109 6
ip和ip网段攻击拦截系统-绿叶结界防火墙系统shell脚本
这是一个名为“小绿叶技术博客扫段攻击拦截系统”的Bash脚本,用于监控和拦截TCP攻击。通过抓取网络数据包监控可疑IP,并利用iptables和firewalld防火墙规则对这些IP进行拦截。同时,该系统能够查询数据库中的白名单,确保合法IP不受影响。此外,它还具备日志记录功能,以便于后续分析和审计。
111 6
IP地址探秘:识别与解析的Python之旅 🚀
《IP地址探秘:识别与解析的Python之旅》通过Python的`ipaddress`模块,轻松实现IP地址的分类(如单播、多播、私有、环回或公有)及子网内所有IP的生成,使网络管理更加便捷高效。示例代码直观展示了功能实现过程。
64 1
基于 Python 的地址解析:自动识别姓名、电话、地址、详细地址与省市区
基于 Python 的地址解析:自动识别姓名、电话、地址、详细地址与省市区
631 1
Python执行Shell并获取结果的全面指南
Python执行Shell并获取结果的全面指南
477 1
Python编程--目标IP地址段主机指定端口状态扫描
Python编程--目标IP地址段主机指定端口状态扫描
89 1

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等