瑞星卡卡安全论坛技术交流区反病毒/反流氓软件论坛 联网程序中出现大量Idle:0产生的未知TIME_WAIT

1   1  /  1  页   跳转

[求助] 联网程序中出现大量Idle:0产生的未知TIME_WAIT

联网程序中出现大量Idle:0产生的未知TIME_WAIT


如图,这是卡卡助手的扫描结果,几乎每刷新一次出现的数量和远程IP都不同,有些时候是对同一个网段多个IP的TIME_WAIT,出现的远程Ip包含北京、深圳、西安、铜川等地方,甚至还有美国谷歌公司的IP,全部都是TIME_WAIT,没有任何其他状态的连接出现
我查过进程、启动项、服务、驱动、IE和资源管理器插件等,都是卡卡助手标志为安全的或有可信任厂商签名的,没有签名的项我也都可以100%确定安全,用最新病毒库的瑞星查毒也没有任何结果,卡卡的流氓软件扫描和系统修复也没有任何扫描结果,瑞星的扫描隐藏进程没有结果,我是XP系统,除了没有装SP3其他补丁都打了,这个问题几个月前用卡卡5.X查看时未曾发现,这几个月没有浏览过可疑网站,可疑软件方面就运行过一个朋友发的Easy2Game,后来卸载了,造成LSP错误过,不过修复了,相关启动项也都去掉了
用冰刃和瑞星防火墙查到的也是同样不明TIME_WAIT,最奇怪的就是显示的进程是PID为0的Idle
求助这到底是什么情况?该如何解决(除了格盘外)

用户系统信息:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
最后编辑和谐小小 最后编辑于 2008-08-16 05:49:03
分享到:
gototop
 

回复:联网程序中出现大量Idle:0产生的未知TIME_WAIT

补充一下,我是以路由器3台机子接网的,查看到这些未知TIME_WAIT虽然对方IP各不相同,但端口都是80,我这里开的端口则是各不相同比如12xx
gototop
 

回复:联网程序中出现大量Idle:0产生的未知TIME_WAIT

求助啊
gototop
 

回复:联网程序中出现大量Idle:0产生的未知TIME_WAIT

该用户帖子内容已被屏蔽
最后编辑zg1_2004 最后编辑于 2008-08-16 12:35:34
gototop
 

回复: 联网程序中出现大量Idle:0产生的未知TIME_WAIT

我发现最后这些IP中有很多都跟我rfwProxy建立ESTABLISHED连接
他们全是80端口
但他们并不是在我安装了瑞星防火墙后才出现的,安装防火墙前我用的是XP自带防火墙,他们就有了跟Idle的TIME_WAIT了,还有奇怪的在于我发现他们中的某些竟然是有效代理!(我没有开启任何代理软件,应该也不是以前代理软件残留的,唯一不敢确定的是1楼所写的那个Easy2Game)
如图
最后编辑和谐小小 最后编辑于 2008-08-16 15:24:26
gototop
 

回复:联网程序中出现大量Idle:0产生的未知TIME_WAIT

麻烦大家继续给集思广益一下
gototop
 

回复:联网程序中出现大量Idle:0产生的未知TIME_WAIT

原因:
一般来说,tcp正常关闭需要四个包。比如a和b关闭连接,a先 给b发一个fin,b会进行确认ack,然后b也会发出fin,当a接受到这个fin,并发出最后一个ack后,就会处于time_wait状态。这个时 间长短跟操作系统有关,一般会在1-4分钟,也就是两倍的数据包(2msl)最大生存时间。TCP主动关闭方采用TIME_WAIT主要是为了实现终止 TCP全双工连接的可靠性及允许老的重复分节在网络中消逝,等过了2msl(大约1~4分钟)后TIME_WAIT就会消失。   
TIME_WAIT状态的目的是为了防止最后a发出的ack丢失,让b处于LAST_ACK超时重发FIN


解决TIME_WAIT的办法主要有以下几种:   


  1、修改LINGER值,缩短关闭时间
  LINGER    lingerStruct;
  lingerStruct.l_onoff    =    1;
  lingerStruct.l_linger    =    0;
  setsockopt(m_socket,SOL_SOCKET,SO_LINGER,(char *)&lingerStruct,sizeof(lingerStruct));
  不过这种办法不是很安全的,不过现在网络都很好啦,不会有问题的。

  2、修改注册表
  [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters]
  "TcpTimedWaitDelay"=dword:00000005
  这个值好像是300秒到30秒之间,改成30秒后你会发现TIME_WAIT很快就会消失了。


  3、禁用LINGER
  //如果你使用的是Socket API,可以这样
  BOOL bDontLinger=FALSE;     
  setsockopt(m_socket,SOL_SOCKET,SO_DONTLINGER,(LPCTSTR)&bDontLinger,sizeof(BOOL));
  closesocket(s);

  //如果你使用的是CAsyncSocket,需要响应的修改,例如禁用LINGER可以这样
  BOOL bDontLinger=FALSE;   
  m_socket->SetSockOpt(SO_DONTLINGER,(const char *)&bDontLinger,sizeof(bDontLinger),SOL_SOCKET);
  m_socket->Close();

  4、客户端可以不BIND(),这样,即使断开连接后再次连接,SOCKET将使用不同的端口(1025-5000),
  等几分钟后,原有的端口就会自动关闭。

关闭BITCOMET后系统出现的几个TCP状态



摘录的!!!!!!!!!!!!!!
gototop
 

回复:联网程序中出现大量Idle:0产生的未知TIME_WAIT

补充一下:
经过我试验,你浏览网页越多TIME_WAIT连接出现越多,等一会就没了!
注册表中没有TcpTimedWaitDelay这个值你可以新建一个DWORD值命名为TcpTimedWaitDelay,数值数据改为30(十进制)。就好了!
本人是Windows2003操作系统,试验好使。
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT