您的位置:首页 > 理论基础 > 计算机网络

协议分析工具学习TCP/IP(二)

2016-07-12 22:41 501 查看
六、 如何查看TCP的状态 

1、命令方式 

下面以Windows XP为例看看新安装的系统都开了那些端口,也就是说都预留了那些门,不借助任何工具来查看端口的命令是netstat,方法如下: 

a、在"开始"的"运行"处键入cmd,回车 

b、如图3在dos命令界面,键入netstat -na,图3显示的就是打开的***口,其中Proto代表协议,该图中可以看出有TCP和UDP两种协议。Local Address代表本机地址,该地址冒号后的数字就是开放的端口号。Foreign Address代表远程地址,如果和其它机器正在通信,显示的就是对方的地址,State代表状态,显示的LISTENING表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。就像你房子的门已经敞开了,但此时还没有人进来。以第一行为例看看它的意思。 

TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 

这一行的意思是本机的135端口正在等待连接。注意:只有TCP协议的***口才能处于LISTENING状态。其它状态稍后讲。 

 

图3 

2、用TCPView工具 

为了更好的分析端口,最好用TCPView这个软件,它是动态的。 

图4是TCPView的运行界面。第一次显示时字体有些小,在"Options"->"Font"中将字号调大即可。TCPView显示的数据是动态的。图3中Local Address显示的就是本机开放的哪个端口(:号后面的数字),TCPView可以看出哪个端口是由哪个程序发起的。从图3可以看出445、139、1025、135、5000等端口是开放的,445、139等端口都是system发起的,135等都是SVCHOST发起的。 

 

图4 

七、 正常变迁过程 

1、抓包 

抓包过程请参见"学习"一文中的"三、测试过程",不同的是不用下载文件,在浏览器中输入FTP地址后关闭浏览器既是一个完整的数据传输过程。另为208号机改为207号。下图5中是截取的过程,其中10-28行省略了。 

 

图5 

2、分析 

1)三次握手的状态 

图5中3-5行是建立连接的三次握手过程,结合图2看其状态变化如下: 

1))图5第3行和图6显示,207号机向1号机发出连接请求, 207号机标志位SYN置1,随即产生一个初始序号(SEQ)3748168237发送给1号机,此时207号机处于SYN_SEND状态。 

2)) 图5第4行和图6中No.4显示, 1号机收到这个序号后,将此序号加1值为3748168238作为应答信号(ACK),同时随机产生一个初始序号(SEQ)4265983929,此时1号机将标志位SYN和ACK置1,发回到请求端207号机,此时1号机由LISTEN状态变为SYN_RCVD状态。 

3))图5第5行和图6中No.5显示,207号机收到后将确认序号设置为1号机的初始序号(SEQ)4265983929加1为4265983930作为应答信号并且将标志为ACK置1发送给1号机。这样在完成了三次握手后207号机处于ESTABLISHED状态。 

图6 是三次握手的标志位变化情况。 

 

图6 三次握手的标志位变化 

2)数据传输的状态 

图5中6-30行是数据传送的过程,数据在传送的过程中一直处于ESTABLISHED状态。ESTABLISHED的意思是建立连接。表示两台机器正在通信。处于ESTABLISHED状态的连接一定要格外注意,因为它也许是正常传输数据,也许是木马之类在盗取你的数据。 

图7 是数据传输时的标志位变化。 

 

图7 数据传输时的标志位变化 

3)终止连接的状态 

图5中32-35行是终止连接的过程,结合图2看其状态变化如下: 

1))32行数据和图8中No.32显示的是207号机关闭浏览器后,207号机将FIN置1连同序号(SEQ) 3748168337发给1号机请求终止连接。此时207号机处于FIN_WAIT_1状态。 

2))33行数据和图8中No.33显示1号机收到FIN关闭请求后处于CLOSE_WAIT状态,1号机将标志位ACK置1,并将应答信号设置为收到序号加1(ACK=3748168338)发回给207号机,这样就终止了这个方向的传输。 

3))34行数据和图8中No.34显示1号机将FIN置1连同序号(SEQ) 4265984517发给207号机请求终止连接。此时1号机处于LAST_ACK状态 

4))35行数据和图8中No.35显示207号机收到FIN关闭请求后,发回一个确认,并将应答信号设置为收到序号加1(ACK=4265984518),至此TCP连接彻底关闭。此时207号机处于TIME_WAIT状态。1号机处于CLOSED状态,此次连接彻底结束。 

图7是终止连接的标志位变化。 

 

图8 终止连接的标志位变化 

4)正常状态下的TCP状态显示 

下图9、10、11是1号机在不同阶段用TCPview捕获的TCP状态,由于有些状态非常短暂,难以捕获,只要能理解其中的意思即可。在上网是注意用TCPview观察,图3中的状态基本都能看到,TCPview显示的状态既有客户端的也有服务器端的。图11就是在1号机显示的207号机的状态。 

图9是1号机FTP服务没有被访问时处于LISTENING状态的情况。 

图10是207号机正在访问1号机服务器的情况。此时1号机的21端口处于ESTABLISHED状态,这里需要注意的是1号机在和207号机建立连接时,还有一个21端口处于LISTENING状态,这是因为它允许多用户访问,就像一个网站,它的80端口可以同时与许许多多的用户建立连接。 

图11是结束连接的情况。其中TIME_WAIT应该是207号机的状态。 

 

图9 

 

图10 

 

图11 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: