linux系统端口使用查看,与验证端口是否冲突

Netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。下图是显示当前系统部分端口使用情况:

不同协议相同端口使用并不冲突;所以我们要只获得TCP或UDP协议的的端口情况:

上图是TCP端口使用情况,通过使用管道和 egrep 命令。在上图显示中可以看出端口显示在每行的第四列,那么先获得第四列:

观察上图端口的情况,都在每行的最后一个,当时每行的:个数又不相同,这次我们只能使用下面这个命令 echo ${var##*:} 来获得所有的端口,所有可以写个函数来获得

# is_valid_tcp_port $1
# return 0 表示不冲突,return 201 冲突
is_valid_tcp_port ()
{
   for i in `netstat -lnp | egrep '^(tcp).*' | awk '{ print $4 }'`
   do
      local tmp=`echo ${i##*:}`
      if [ "$1" = "$tmp" ]
      then
          return 201
      fi
   done
   return 0
}

但是在使用时要注意了

if is_valid_tcp_port "$console_port"
then
      .........1.........
else
      ...........2.....
fi

当return 0 时会 1 ;return 201时会 2;这个可以看下前面的SHELL函数的参数和返回值介绍,

链接:点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值