还剩1页未读,继续阅读
文本内容:
使用网络分析软件学习HTTP协议
一、目的学习网络分析也有段时间了,到现在也算是逐渐入门了吧,想想自己以前刚接触时,不知道从何入手学习网络分析,肯定要从协议入手,如果只看相关资料,这样印象不深刻,而且也没什么实战的经验,速度和效率都慢了很多后来有高人指点了我,用网络分析软件来学习协议比较好、从此我开始了另外一种方法的学习呵呵,自己作为一个初学者,想把自己学习的方法写出来,和大家交流交流,个人认为方法是最重要的TCP/IP协议族里的协议太多了,这个还的靠时间的积累:说了这么多废话,嘿嘿!其实应用层协议是我们经常用到的协议,比如HTTP,FTP等等,下面我们就来谈谈HTTP协议(不看网页不可能吧学习其他协议时可以用类似的方法,灵活变通2
二、试验环境我们这里试验的网络环境很简单,简单描述一下
2.操作系统:本人电脑使用Windows XP+SP2;
3.工具(关键哟:我接触过Sniffer,OmniPcek,ethereal,科来网络分析系统,个人相对这几种软件用的稍微熟悉的还是OmniPeek,这里我就以OmniPeek为学习工具
三、具体操作我试验过程也很简单,访问网页大家都很清楚吧我这里只是用更加深入的方式来了解访问网页的种种过程及原理,具体操作如下(图1过滤器设置(图2抓取的数据包使用网络分析软件进行对协议学习,并不是叫我们都抛开那些资料,那些理论原理,我这里所说的就是“结合”,了解协议的结构,工作原理,相关特征是很重要的,这时我们在通过网络分析软件来操作,就会更加明确我们还是先介绍一下HTTP协议的工作原理吧(不要怪我罗嗦哟
2.HTTP协议工作方式由于HTTP协议是基于请求/响应模式的(相当于客户机/服务器一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容这个过程就好像我们打电话订货一样,我们可以打电话给商家,告诉他我们需要什么规格的商品,然后商家再告诉我们什么商品有货,什么商品缺货这些,我们是通过电话线用电话联系(HTTP是通过TCP/IP HTTP协议的内部操作过程:基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接这就好像上面的例子,我们电话订货的全过程其实简单说就是任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用户请求你的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL驻留程序接收到请求,在进行必要的操作后回送所要求的文件在这一过程中,在网络上发送和接收的数据已经被分成一个或多个数据包(packet,每个数据包包括:要传送的数据;控制信息,即告诉网络怎样处理数据包TCP/IP决定了每个数据包的格式
五、数据包分析我们现在来分析刚刚抓取的数据包,看看HTTP协议怎样进行建立连接,发送请求信息,发送响应信息,关闭连接的过程
1.建立连接图3建立连接说明:图3中选中三个数据包描述的是TCP三次握手的过程这样我们可以知道,HTTP通讯是发生在TCP协议之上,缺省端口是TCP的80端口,所以HTTP是一个可靠的协议至于三次握手原理,看解码上面三个图分别为前三个数据包中的TCP标记信息,反映了TCP的三次握手过程:客户端向Web服务器发送一个SYN同步连接请求,Web服务器收到请求后向客户端发送一个在我们抓到的数据包中,状态码是200,表明请求是成功接受请求
4.关闭连接最后4个数据包
52.
53.
54.55就是通讯的关闭过程,建立一个连接需要进行三次握手,而终止一个连接则需要经过4次握手这是由于TCP连接是全双工的,每个方向上都必须单独地进行关闭4次握手实际上就是两个方向上单独关闭的过程这里就不详细说明T,
六、小结从上面的讲解,我想咱们对HTTP协议也了解了很多了吧,对照分析软件来学习是不是觉得有点不一样哇,我们在数据包解码中看到只是资料所说的有点出入呵呵,资料上说的是不是要复杂的多,这也说明,在具体实际情况下是不同的在这里,我们只是说说学习的思路,TCP/IP协议是非常复杂的,一个好的学习方法,使的咱们在学习其他协议的时候就能举一反三希望大家能谈谈自己的学习方法大家互相交流撒菜青虫2006年6月。