清除/proc/net/ip_conntrack的方法(之前一直不知道这个方法,感谢贵林的blog)
/proc/net/ip_conntrack一直显示已经被封掉的连接,如果不reboot,要5天后才会清除,给监控造成很大影响。
iptstate -s -t #显示IP连接状态
下载hping:
./configure
make
make install
安装后写一个script:
#!/bin/bash
echo
echo "############################"
echo "# Edit by Youngh 2003.06.24 v1.1 "
echo "# Usage : clr_conns IpAddress"
echo "# This will clear all connections from this IP_Address"
echo "# Example:/root/clr_conns 10.0.3.3 "
echo "############################"
echo
if [ -z $1 ] ; then
exit
fi
grep -E "^tcp .{10,25}ESTABLISHED src=$1 " /proc/net/ip_conntrack | while read line ; do
S_IP=`echo $line | awk '{print substr($5,5)}'`
S_SOCK=`echo $line | awk '{print substr($7,7)}'`
D_IP=`echo $line | awk '{print substr($6,5)}'`
D_SOCK=`echo $line | awk '{print substr($8,7)}'`
echo "$S_IP:$S_SOCK $D_IP:$D_SOCK"
hping2 $D_IP -R -s $S_SOCK -p $D_SOCK -a $S_IP -k -c 1 >/dev/null 2>/dev/null &
done
保存为clr_conns.sh
用:
sh clr_conns.sh x.x.x.x
就可以清除显示的连接.
阅读(5468) | 评论(1) | 转发(0) |