shell 判断地址属于哪个子网_Linux Shell脚本中对IP、子网掩码和网关的有效性判断[转]...

以下示例只是提供一些思路和简易的方法。请参考使用。以下代码在bash中验证通过,如果使用其它shell请自行调整。1:IP格式效性判断1 #return 1(failure) invalid ip,0(success) valid ip2 is_valid_ip_format()3 {4 if [[ "$1" =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\....
摘要由CSDN通过智能技术生成

以下示例只是提供一些思路和简易的方法。请参考使用。以下代码在bash中验证通过,如果使用其它shell请自行调整。

1:IP格式效性判断

1 #return 1(failure) invalid ip,0(success) valid ip2 is_valid_ip_format()3 {4 if [[ "$1" =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]] ;then

5 return 0

6 else

7 return 1

8 fi

9 }

补充说明:

if判断语句中使用shell的正则表达式,请注意,在正则表达式上是不需要加引号的!这是shell的新特性,网上有类似语句但是无法使用就是因为在正则表达式上加了引号。

2:IP冲突检测

1 #return 1(failure) conflict,0(success) not conflict2 is_ip_conflict()3 {4 conflict=`ping -c 2 -t 1 $1 >/dev/null 2>&1 && arp $1`5 if [ -z "$conflict" ];then

6 return 0

7 else

8 return 1

9 fi

10 }

补充说明:

IP冲突检测看起来是一个很复杂的问题,其实在TCP/IP协议中,IP冲突检测是ARP协议的一个额外功能,原理很简单,使用ARP协议向网络中广播自己的IP地址,如果收到响应则存在IP冲突

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值