tc_song 2016-03-30 03:13 采纳率: 0%
浏览 637

linux中netstat某个瞬间值不准确,求大神指点

使用netstat监控端口时,连续两次查看的端口状态不一致,实际上这个端口应该是一直连接这的。
下面是我的bash监控脚本:

for((i=0; i do
netstat -an|grep $locPort >$TMPFILE
count=cat $TMPFILE|grep ESTABLISHED|awk '{print $4}'|grep $locPort|wc -l
count1=cat $TMPFILE|grep LISTEN| awk '{print $4}'|grep $locPort|wc -l
count2=cat $TMPFILE|awk '{print $4}'|grep $locPort|wc -l
local msgBuf1=0
local msgBuf2=0
msgBuf1=cat $TMPFILE|awk '{print $2,$3,$4,$6}' |grep $locPort|grep ESTABLISHED|awk '{print $1}'
msgBuf2=cat $TMPFILE|awk '{print $2,$3,$4,$6}' |grep $locPort|grep ESTABLISHED|awk '{print $2}'
msgBuf1=${msgBuf1:-0}
msgBuf2=${msgBuf2:-0}
if [ $count -eq 1 -a $count1 -eq 1 -a $count2 -eq 2 -a $msgBuf1 -eq 0 -a $msgBuf2 -eq 0 ] ;then
status="OK"
break
else
status="ERROR"
cat $TMPFILE >&3
echo "++++++++++++++++++++" >&3
netstat -an|grep $locPort >&3
echo "sleep 1s"
sleep 1s
continue
fi
done

下面是输出内容:

tcp 0 0 10.5.177.44:20203 0.0.0.0:* LISTEN
tcp 0 0 ::ffff:10.5.177.44:12184 ::ffff:10.5.177.44:20203 ESTABLISHED
++++++++++++++++++++
tcp 0 0 10.5.177.44:20203 0.0.0.0:* LISTEN
tcp 0 0 10.5.177.44:20203 10.5.177.44:12184 ESTABLISHED
tcp 0 0 ::ffff:10.5.177.44:12184 ::ffff:10.5.177.44:20203 ESTABLISHED

该监控程序大部分时候都是正常的,但是偶然性会出现上面这种情况,sleep1秒后端口状态又正常了,应用程序是长连接,这期间应用也是正常的。求大神指点。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-27 23:58
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题