2010-06-23 56 views
2

有没有办法阻止现有的连接?终止现有的tcp连接

例如192.168.1.120连接经由端口8080

我想知道如何终止连接?

非常感谢!

+0

它是从程序内部连接到其他程序,还是连接到程序中的服务器套接字,或者是其他程序之间的完全外部连接? – sje397 2010-06-23 05:34:59

+0

@ sje397 这是由其他程序进行的外部连接。 – user303907 2010-06-25 02:37:22

+0

在linux上你可以使用killcx。请参阅我的回答“[如何在TIME_WAIT中强制关闭套接字?] [1]” [1]:http://stackoverflow.com/questions/41602/how-to-forcibly-close-a-插座的时间等待/ 7946580#7946580 – akostadinov 2011-11-02 16:29:55

回答

2

最简单的方法(无需外部软件)是杀死和/或重新启动正在监视该端口的进程。但是,这将消除该进程所使用的每个连接,所以这通常不是您通常想要在服务器上执行的操作。

要找出哪一个进程正在处理您的连接,您可以在Linux中使用netstat -anp,或者在Windows中使用netstat -anb。请注意,在Windows中,netstat在从套接字回溯到进程时可能非常缓慢。

如果您使用的是Windows,并且不介意下载内容,请查看SysInternals的TCPView。让你看看哪些端口是开放的,以及使用它们的是什么。它甚至可以终止连接,IIRC,但我忘了它是通过简单地重置连接还是通过使用它来终止进程。