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

六、 如何查看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 
HTTP/HTTPS协议分析工具(Http Analyzer)7.5.3.455 汉化特别版 HTTP Analyzer 分两部份,可以集成在IE浏览器中抓包,也可以单独的安装应用程序的包,非常实用。 压缩包内有注册机,大家根据需要选择相应的产品获取注册码。 这是一款实时分析 HTTP/HTTPS 数据流的工具。它可以实时捕捉HTTP/HTTPS 协议数据,可以显示许多信息(包括:文件头、内容、Cookie、查询字符窜、提交的数据、重定向的url地址),可以提供缓冲区信息、清理对话内容、HTTP状态信息和其他过滤选项。同时还是一个非常有用的分析、调试和诊断的开发工具。 Http Analyzer是一个HTTP/HTTPS协议分析工具,用此工具可以非常快速的分析出绝大多数视频博客的视频地址。尽管有一些网站提供了诸如 YouTube ,Google Video 等视频网站的php解码程序,不过那些php程序并不是通用的。当博客视频网站对视频地址加密算法做些变动时,php程序又需要大规模改动才能对应解码。 使用类似Http Analyzer协议分析工具就不同了,所有的博客视频都是http方式提供的,最终的http路径是肯定要明文出现的,所以获取此路径是可能的。 HTTP/HTTPS协议分析工具(Http Analyzer)使用方法 第一步:设置好Http Analyzer的过滤器选项大部分的视频博客的Type都是 video/flv ,video/x-flv ,application/octet-stream 极少部分采用application/x-shockwave-flash 或干脆不表明类型。http的返回结果肯定是2XX,所以在Result 要设置成<300。返回的Size最好采用倒序排列,视频博客的大小一般比较大,倒序容易发现。 第步:运行Http Analyzer:(点击工具栏第一个绿色箭头图标)打开YouTube 或6rooms视频博客网站。回到Http Analyzer窗口,看你需要的视频地址是不是老老实实的呆在里面呢?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值