免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Godbach
打印 上一主题 下一主题

[讨论] 清除本地服务器已建立TCP连接的方法[有了一个实现方法] [复制链接]

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
21 [报告]
发表于 2010-08-09 17:31 |只看该作者
呵呵,网上很多结果都是说用hping来发送RST包,指定srcip, sport, dip,dport。

唉,要么只能看他的源码了。

白金兄使用以前测试过吗?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
22 [报告]
发表于 2010-08-09 18:48 |只看该作者
转过来一个mailist上的解决方法,同样是用hping。作者自己测试结果说works well.
杨华  youngh0702@21cn.com
Wed, 25 Jun 2003 11:06:53 +0800

    * Previous message: clear the ip_conntrack entry
    * Next message: clear the ip_conntrack entry
    * Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

Hi everyone :
        I have notice that many request about how to clear the
/proc/net/ip_conntrack entry , and someone suggest that it have no
resolution except restart the interface .
        I think the answer : send a fake ip packet (with RST set) to
firewall , to let it think the connection terminate .
        By this methode , I have the following script written , it work
well for me.
        To use this script , you must have hping2 installed , it can be
download from http://www.hping.org
--------- clr_conns start  ------------------
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 end --------------------------------

论坛徽章:
0
23 [报告]
发表于 2010-08-09 21:17 |只看该作者
很遗憾,我没有测试过……

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
24 [报告]
发表于 2010-08-10 10:25 |只看该作者
是否可以考虑内核态做一些工作呢:
记下内核中所有新建连接对应的sock,然后需要删除的时候,对相应的sock调用tcp_close函数。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
25 [报告]
发表于 2010-08-10 19:23 |只看该作者
初步验证了hping的实现,可参考1楼的实现方法。

论坛徽章:
0
26 [报告]
发表于 2010-08-12 11:56 |只看该作者
回复 13# Godbach


    conntrack是做连接跟踪,如果连接很规范的断开,conntrack表项当然就会被清除掉,否则就要等到表项timeout,各种连接状态下,timeout值是不同的,tcp established状态默认要5天才timeout。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
27 [报告]
发表于 2010-08-12 12:55 |只看该作者
,tcp established状态默认要5天才timeout。

这个值好像也是和conntrack关联的,我测试了,将其修改的时间短一些,conntrack的记录是没有了,但是netstat的结果还有的

论坛徽章:
0
28 [报告]
发表于 2010-08-13 09:54 |只看该作者
回复 1# Godbach


    怎么获得连接的序列号?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
29 [报告]
发表于 2010-08-13 10:02 |只看该作者
回复  Godbach


    怎么获得连接的序列号?
heidern 发表于 2010-08-13 09:54


你问的就是关键问题。
如果获取某个已经建立连接的序列号,准确点说,就是客户端下次发包应该使用的序列号。

大家可以讨论一下,有哪些好的方法?

论坛徽章:
0
30 [报告]
发表于 2010-08-13 15:27 |只看该作者
....一天了没人回复{:3_180:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP