短连接是相对于长链接而言的概念,指的是数据在传送过程中,只在需要发送数据时,才去建立一个链接,数据发送完成之后,则断开连接,即每次连接只完成一项业务的发送,在系统维护中,一般很难去觉察,需要借助网络安全设备或者抓包分析,才能够去发现。
网络管理员在出口WAF检测到某台服务器不断向香港IP发起Request,感到很好奇,登录服务器排查,想找到发起段链接的进程。
登录服务器查看端口,进程,并未发现服务器异常,但是当多次刷新端口时,可以查看该连接。有时候一直刷这条命令好几次才会发现,像这种的短连接极其难以捕捉到对应的进程和源文件,
手动估计没戏,很暗追踪于是动手写了一小段脚本来捕捉短连接对应的pid和源文件。
脚本文件如下:
#!/bin/bash
ip=x.x.x.x
i=1
while :
do
tmp=`netstat -anplt|grep $ip|awk -F '[/]' '{print $1}'|awk
'{print $7}'`
#echo $tmp
if test -z "$tmp"
then
((i=i+1))
else
for pid in $tmp; do
echo "PID: "${pid}
result=`ls -lh /proc/$pid|grep exe`
echo "Process: "${result}
kill -9 $pid
done
break
fi
done
echo "Total number of times: "${i}
最终得到了运行结果,发现短连接每次发起的进程pid一直在变,但已经捕捉到发起异常连接的文件为:
/usr/lib/nfsiod
处理了即可。