这篇文章主要介绍一下 Wireshark
抓包工具获取到的 HTTP协议
相关的数据,而后对这些数据进行简单的分析,主要目的是更深刻的理解 HTTP协议
,而后了解一下网络为何要分层, OSI模型
和TCP/IP
模型的区别。css
1.1 打开 Wireshark
工具,选中正在使用的网卡 以太网4
(以本身电脑实际使用为准),点击 捕获
,而后选择 选项
:
1.2 在新窗口中的过滤栏中输入 port 80
:缓存
Tips:输入port 80
以后点击开始
便可开始捕获,port 80
表示筛选出和80端口
相关的数据请求。
1.3 打开 Telnet
工具模拟 HTTP
请求:网络
telnet singwa666.com 80 GET /themes/simpleboot3/portal/public/assets/css/moco.css HTTP/1.1 Host: singwa666.com
以下图所示:dom
1.4 Telnet
模拟 HTTP
请求以后,点击左上角红色
按钮中止抓取报文:ide
1.5 找到 WireShark
中抓取到的该条 HTTP
请求的相关报文:工具
Tips:找到Telnet
中模拟请求的那条数据双击
。
1.6 双击该条HTTP
请求数据:网站
Tips:如图所示看到的报文信息都是符合基于ABNF
描述的HTTP
协议格式规范的。
2.1 Network 示意图spa
Tips:从概要
能够看出,29 requests
表示29
个请求,46.9 kB transferred
表示经过网络传输了46.9KB
数据,960 kB resources
表示页面加载了960KB
的资源,Finish: 421 ms
表示总共完成花了421 ms
时间,DOMContentLoaded: 201 ms
表示DOM
内容加载总共消耗201 ms
,Load: 376
表示DOM
加载消耗了376 ms
。
HTTP
请求、响应的时间轴Clear Browser Cache
All
、XHR
、JS
、CSS
、Img
、Media
、Font
、Doc
、WS(WebSocket)
、Manifest
、Other
类型。Hide Data URLs
:domain
:Start Time
发出的第一个请求位于顶部,Response Time
开始下载的第一个请求位于顶部,End Time
完成的第一个请求位于顶部,Total Duration
链接设置时间和请求/响应时间最短的请求位于顶部,Latency
等待时间最短响应的请求位于顶部Names
:资源名称Status
:HTTP
状态码Type
:请求的资源的 MIME
类型Initiator
:发起请求的对象或进程,Parser(解析器)
表示 Chrome
的HTML
解析器发起了请求,Redirect(重定向)
表示HTTP
重定向启动了请求,Script(脚本)
:脚本启动了请求,Other(其余)
:一些其余进程或动做发起请求,例如用户点击连接跳转到页面或在地址栏中输入网址OSI (Open System Interconnection Reference Model)
模型是一种理论概念模型,并未真正被实现过,可是在实现网络协议须要参考这种模型,才能更好的去理解网络中的协议和分层:3d
Tips:应用层
解决的是业务问题,表示层
负责把网络中的消息转化为应用层
能够读写的消息(如TLS/SSL),会话层
负责创建会话、握手、维持链接、关闭,传输层
解决进程与进程之间的通讯,网络层
负责ip
地址之间创建链接,数据链路层
负责局域网中链接MAC
地址链接到中交换机、路由器等,物理层
主要负责信号是如何传递的。
实际在因特网中使用的是 TCP/IP
模型,在 TCP/IP
模型中对 OSI
模型作了不少简化,好比应用层
没有对 表示层
、会话层
作严格的区分,数据链路层
和 物理层
也没有作严格的区分:code
Tips:网络分层中各层只须要负责各层本身所作的事情,不用关心其它层的工做,但会增长额外的数据处理延迟。
下载一个抓包演示用的报文文件,地址 http://www.singwa666.com/demo.pcapng
:
6.1 首先用 WireShark
打开报文文件,而且用 http
过滤:
6.2 点开其中的一条进行分析:
6.3 点开 Ethernet II
能够看到数据链路层
相关的数据:
Tips:以太网层展现了
MAC
地址相关信息。
6.4 点开 Internet Protocol ...
能够看到 IP层
相关的数据:
6.5 点开 Transmission Control Protocol ...
能够看到 TCP层
相关的数据:
6.6 点开 Hypertext Transfer Protocol
能够看到 应用层 HTTP
相关的数据:
扫码关注爱因诗贤