【工具篇】09. HTTP 超文本传输 ❀ 数据包分析工具 Wireshark

        【简介】超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。


   网络环境

        为了使测试环境更加真实,我们布置了这样一个网络环境。防火墙是192.168.28.0/24网段,无线AP是192.168.38.0/24网段。

        ① 防火墙是192.168.28.0/24网段,无线AP是192.168.38.0/24网段。三层交换机与防火墙之间是172.20.1.0/24网段。服务器是172.16.2.0/24网段。工作电脑是172.16.1.0/24网段。现在用一台工作电脑(IP 172.16.1.11)访问Web服务器(172.16.2.11)。

  Wireshark 抓包

  这里我们用最常用的方法,先抓接口包,再过滤出我们需要的信息。

        ① 启动 Wireshark ,点击以太网接口,点击蓝色图标开始抓包。

        ② 工作电脑通过三层交换机,访问同是三层交换机下的Web服务器。打开了Web服务器访问界面。

        ③ 抓包结束后,显示过滤电脑网卡IP地址和Web服务器的IP地址。每次HTTP会话的一开始,双方会首先进行TCP三次握手,HTTP协议会在通信主机之间创建出一条专用的信道,在整个会话处于活跃状态的过程中,双方都会在这条边接中接收和发送数据包。

  HTTP 超文本传输

        在TCP三次握手数据包后,我们可以看到客户端发送的第一条HTTP请求消息,每个请求消息都包含了不少要发送给服务器的内容。

        ① 整个HTTP请求包的长度是401个字节。

        Get 方法是HTTP中最常用的方法,他的意思是:‘我要得到这个资源’。域名后面的部分就是路径,默认是‘/’。然后是HTTP版本形如:‘HTTP/x.x’。

        Host(主机):在浏览器地址栏中输入的Web服务器地址。在大多数情况下,所有HTTP数据包都会发送给Web服务器的80端口,其它常用的Web服务器端口为8080、3132、8088等。

        User-Agent(用户代理):客户端访问Web页面时,所使用的一些与浏览器有关的信息。服务器会用这些信息来向客户端呈现那些与浏览器相匹配的内容。

        Accept(接受)Accept-Language(接受语言)Accept-Encoding(接受编码):在响应消息中,请求方客户端会接受哪些内容。

        Connection(连接):向服务器指定,客户端希望在处理这个请求之后的连状态状态,keep-alive 表示保持连接。

        Upgrade-Insecure-Requests(更新不安全的请求):让浏览器不再显示 https 页面中的 http 请求警报。

        ② 紧接着,服务器确认了客户端的请求,客户端可能够访问服务器的Web根目录了。接下来,服务器开始传输客户端请求的资源。长度是1460字节。

        ③ 为什么每次只传输1460字节呢?那是因为在三次握手时协商好的。(上图是第二次握手数据包)

        ④ 客户端会确认服务器发来的每一个数据包,这是TCP通信中的一部分。

        ⑤ 所有请求包发关完后,服务器会给客户端一个状态码。
         状态码是三位的整数,第一位通常分为如下几类:
         1xx 这一类型的状态码,代表请求已被接受,需要继续处理。(消息)
         2xx 这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。(成功)
         3xx 这类状态码代表需要客户端采取进一步的操作才能完成请求。(重定向)
         4xx 这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。(客户端错误)
         5xx 这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生。(服务器错误)

        常见的状态码:
        200 OK:请求成功,接收到资源。
        404 Not Found:请求失败,未找到资源。
        301 Moved Permanently:永久性转移。
        302 Moved Temporarily:暂时性转移。
        303 See Other:请求的资源已经移到了另外一个URL上了,客户端会自动跳转。这个通常是CGI脚本使用redirect,使得客户端,重定向到另外一个URL。
        500 Server Error:一个未知的服务器错误。 

        ⑥ 最后四个包,客户端和服务器都向对方发出断开请求,并都同意。这样TCP就断开了。一次完整的Web访问结束。
 


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
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
发出的红包

打赏作者

飞塔老梅子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值