转:Socket状态变迁图 .






在一些防火墙或端口管理工具中经常会看到连接状态为CLOSED CLOSE_WITE LAST_ACK等的进程, 虽然状态就那么很少的几个, 而且看字面意思也能猜个大概, 但没做过Socket编程的朋友却很少能准确的知道每种状态的准确含义, 我也是经常把其中几项搞混. 下面把几种状态的说明整理了一下, 也许会对有的朋友有点用:


CLOSED 没有使用这个套接字
LISTEN 套接字正在监听入境连接
SYN_SENT 套接字正在试图主动建立连接
SYN_RECEIVED 正在处于连接的初始同步状态
ESTABLISHED 连接已建立
CLOSE_WAIT 远程套接字已经关闭:正在等待关闭这个套接字
FIN_WAIT_1 套接字已关闭,正在关闭连接
CLOSING 套接字已关闭,远程套接字正在关闭,暂时挂起关闭确认
LAST_ACK 远程套接字已关闭,正在等待本地套接字的关闭确认
FIN_WAIT_2 套接字已关闭,正在等待远程套接字关闭
TIME_WAIT 这个套接字已经关闭,正在等待远程套接字的关闭传送







服务端,端口的状态变化




  先在本机(IP地址为:192.168.1.10)配置FTP服务,然后在其它计算机(IP地址为:192.168.1.1)访问FTP服务,从TCPView看看端口的状态变化。




  下面黑体字显示的是从TCPView中截取的部分。




  1、LISTENING状态




  FTP服务启动后首先处于侦听(LISTENING)状态。

  State显示是LISTENING时表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。就像你房子的门已经敞开的,但还没有人进来。

  从TCPView可以看出本机开放FTP的情况。它的意思是:程序inetinfo.exe开放了21端口,FTP默认的端口为21,可见在本机开放了FTP服务。目前正处于侦听状态。

  inetinfo.exe:1260 TCP 0.0.0.0:21 0.0.0.0:0 LISTENING




  2、ESTABLISHED状态




  现在从192.168.1.1这台计算机访问一下192.168.1.10的FTP服务。在本机的TCPView可以看出端口状态变为ESTABLISHED。

  ESTABLISHED的意思是建立连接。表示两台机器正在通信。

  下面显示的是本机的FTP服务正在被192.168.1.1这台计算机访问。

  inetinfo.exe:1260 TCP 192.168.1.10:21 192.168.1.1:3009 ESTABLISHED

  注意:处于ESTABLISHED状态的连接一定要格外注意,因为它也许不是个正常连接。后面我们要讲到这个问题。




  3、 TIME_WAIT状态




  现在从192.168.1.1这台计算机结束访问192.168.1.10的FTP服务。在本机的TCPView可以看出端口状态变为TIME_WAIT。

  TIME_WAIT的意思是结束了这次连接。说明21端口曾经有过访问,但访问结束了。

  [System Process]:0 TCP 192.168.1.10:21 192.168.1.1:3009 TIME_WAIT




  4、小技巧




  a、可以telnet一个开放的端口,来观察该端口的变化。比如看1025端口是开放的,在命令状态(如图1运行cmd)运行:

  telnet 192.168.1.10 1025

  b、从本机也可以测试,只不过显示的是本机连本机

  c、在Tcpview中双击连接可看出程序的位置,右键点击该连接,选择End Process即可结束该连接

  客户端,端口的状态变化

  客户端口实际上就是从本机访问其它计算机服务时打开的源端口,最多的应用是上网,下面就以访问www.baidu.com为例来看看端口开放以及状态的变化情况。
1、SYN_SENT状态




  SYN_SENT状态表示请求连接,当你要访问其它的计算机的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为ESTABLISHED,此时SYN_SENT状态非常短暂。但如果发现SYN_SENT非常多且在向不同的机器发出,那你的机器可能中了冲击波或震荡波之类的病毒了。这类病毒为了感染别的计算机,它就要扫描别的计算机,在扫描的过程中对每个要扫描的计算机都要发出了同步请求,这也是出现许多SYN_SENT的原因。

  下面显示的是本机连接www.baidu.com网站时的开始状态,如果你的网络正常的,那很快就变为ESTABLISHED的连接状态。

  IEXPLORE.EXE:2928 TCP 192.168.1.10:1035 202.108.250.249:80 SYN_SENT




  2、ESTABLISHED状态




  下面显示的是本机正在访问www.baidu.com网站。如果你访问的网站有许多内容比如访问www.yesky.com,那会发现一个地址有许多ESTABLISHED,这是正常的,网站中的每个内容比如图片、flash等都要单独建立一个连接。看ESTABLISHED状态时一定要注意是不是IEXPLORE.EXE程序(IE)发起的连接,如果是EXPLORE.EXE之类的程序发起的连接,那也许是你的计算机中了木马了。

  IEXPLORE.EXE:3120 TCP 192.168.1.10:1045 202.108.250.249:80 ESTABLISHED

  3、TIME_WAIT状态




  如果浏览网页完毕,那就变为TIME_WAIT状态。

  [System Process]:0 TCP 192.168.1.10:4259 202.108.250.249:80 TIME_WAIT


转自: http://blog.csdn.net/xiaofei0859/article/details/6044567

猜你喜欢

转载自ttling.iteye.com/blog/1988097
今日推荐