现在的位置: 首页 > 综合 > 正文

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

2014年01月02日 ⁄ 综合 ⁄ 共 592字 ⁄ 字号 评论关闭

  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函数的参数和返回值介绍,

链接:点击打开链接

抱歉!评论已关闭.