|
楼主 |
发表于 2004-12-1 21:03:09
|
显示全部楼层
http://bbs.phpv.net/showthread.php?p=1173#post1173 清除/proc/net/ip_conntrack的方法 困扰我很久的问题,/proc/net/ip_conntrack一直显示已经被封掉的连接,如果不reboot,要5天后才会清除,给监控造成很大影响,后来我在Mailing Lists找到解决办法: 下载hping: http://www.hping.org/download.html ./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 就可以清除显示的连接. |
|