6.3.2 利用Wireshark进行协议分析(二)认识Wireshark及原理

6.3.2 利用Wireshark进行协议分析(二)认识Wireshark及原理

一、Wireshark特点

  1. 跨平台:无论Windows、macOS、Linux都可以安装Wireshark软件
  2. 开源:该软件是免费且开源的,软件在不断的更新。
  3. 功能强大
  4. 操作方便

二、Wireshark功能

  1. 抓包分析协议报文
  2. 深析协议工作流程
  3. 诊断解决网络故障
  4. 找寻网络安全问题:利用Wireshark的协议统计功能,如果发现某类协议流量所占的比例不正常的情况下,我们可以判断网络有可能存在着某种攻击行为

三、Wireshark软件的下载与安装

Wireshark官方下载网址

四、分析协议的基本原理

  1. ICMP报文的获取

    使用ping命令获取ICMP报文

    • 原理

      运行ping程序的主机会向对端系统发送多个ICMP的回送请求报文(5.2.7 因特网控制报文协议ICMP)每个报文相当于探测的报文,如果对端可达会立即返回相应的ICMP回送应答报文,经过这样简单的交互,就可以判断对方的连通的状态,在这个过程中Wireshark会捕获到两种不同的ICMP报文。这里我们就需要分析一下这种成对出现的报文之间的关联性,如果我们同时运行多个ping程序,如何区分这些报文究竟是属于哪一个ping程序的。

  2. 基于HTTP的网页提取

    在互联网服务中,我们使用最频繁的是www服务,打开浏览器访问网页,我们知道万维网是一个遍布全世界的、十分庞大的分布式数据库系统,他通过超链接搜索引擎、超文本传输等一系列技术方便我们随时随地的找到我们所需要的信息,是我们通向浩瀚知识海洋的一把神奇钥匙,我们轻点鼠标发生的事情原理如下

    • 原理

      1. 点击鼠标就获得了我们所要访问对象的统一资源定位符URL,也就是互联网环境下资源的标识,URL需要指明访问该对象采用什么方法,对象所在主机的域名或IP地址,对象所在的目录和文件名。这里的资源可以是一个网页,一张图片、一段视频或者一段音频,甚至是一个脚本文件。

      2. DNS域名解析:如果URL中包含有主机域名,浏览器软件首先执行域名解析服务,将目的域名转换为IP地址,此时就要用到DNS服务,为了减少域名解析带来的网络流量,主机都会在本地设置DNS缓存,存放先前已经解析好的地址对的信息,只有当对方主机的域名不在本地的DNS缓存时才会启动域名解析的过程,DNS解析过程基于问答的形式,向域名解析服务器提出查询请求然后等待接收查询结果,事实上DNS系统是一个分布式系统,地址信息分布在全世界范围内许多域名服务器上,对于相同域内的域名解析,通过一跳问答就能够实现,但对于许多跨域的地址解析需要利用迭代过程来实现。(6.2.1 网络基本服务—域名解析系统DNS)这里为了能够捕获到DNS报文,在访问网页前,我们需要清空本地的DNS缓存,使得所有的解析结果都通过DNS解析过程来获得。

      3. HTTP超文本传输协议:如何在浏览器和服务器之间传送网页,这就需要使用超文本传送协议HTTP,HTTP是一个无状态的应用层协议,也就是它是基于会话的网页的访问过程构成一个HTTP的会话,具体的说就是浏览器进程利用GET或者POST等HTTP的请求报文向服务器发送网页请求,这个请求会指明访问哪个对象,还要提供一些其他的信息,比如浏览器的类型,版本号,采用何种编码、身份认证信息等,服务器收到请求之后会向浏览器进程也就是客户端发送应答报文,包括本次相应的状态、网页信息等。这里需要注意的是如果一个网页中存在多个对象,每个对象的提取都会产生一次这样的交互过程。

        我们知道超文本传送协议HTTP采用的传输层服务是TCP,所以在网页传输之前都需要先建立TCP连接,在传输完毕之后还需要把TCP连接释放掉。后面我们也会从抓包的结果中发现TCP连接建立过程中的三个报文的交互,以及释放连接时两对报文的交互。同时我们可以分析一下不同层协议之间封装的一个关系。(6.2.8 网络基本服务----万维网(www))

你可能感兴趣的:(网络技术与应用,wireshark,测试工具,网络)