http及https的 抓包分析

**

HTTP及HTTPS实验

**
1、访问http://wwww.qq.com和https://www.sangfor.com.cn并抓包,分析从PC访问到结束访问网站的全数据流过程
2、分析DNS解析过程及请求回应报文结构,掌握DNS报文结构特征和DNS A记录
3、分析PC和网站建立连接和断开连接的过程(TCP三次握手、四次挥手、RST包抓包)
4、分析HTTP和HTTPS请求报文和响应报文,分析HTTP报文常见字段
HTTP实验:
一:首先我们打开一个新的浏览器输入 http://www.qq.com 然后在后台开启wireshark的抓包功能,这里我选择WLAN(我连接的是 WiFi)。
在这里插入图片描述
在这里插入图片描述
通过cmd窗口下的ipconfig查看电脑本地IP地址为192.168.0.14
在这里插入图片描述
在这里插入图片描述
这时我们知道了自己主机的IP及目标IP,通过浏览器访问,后台运行的抓包工具抓取流量,通过wireshark软件目的IP筛选ip.src == 61.151.166.146 or ip.dst == 61.151.166.146到如图所示的数据包
**

TCP的三次握手:

**
在这里插入图片描述
本机向服务器发送的请求,服务器返回的包:
**

http的请求报文

**
在这里插入图片描述
**

http的响应报文

**
在这里插入图片描述
**

TCP报文

**在这里插入图片描述

**

下面三种状态行在响应报文中常见:

**
HTTP/1.1 202 Accepted {接受}
HTTP/1.1 400 Bad Request {错误的请求}
HTTP/1.1 404 Not Found {找不到}

**

http访问过程

**
1、客户端与服务端建立连接,TCP/IP 三次握手
2、客户端发送请求数据
3、服务端接受并解析请求数据,作出响应
4、返回响应数据
5、断开连接 TCP/IP 四次挥手

**

一、RST介绍

**
RST标示复位、用来异常的关闭连接。

  1. 发送RST包关闭连接时,不必等缓冲区的包都发出去,直接就丢弃缓冲区中的包,发送RST。
  2. 而接收端收到RST包后,也不必发送ACK包来确认。
    **

二、什么时候发送RST包

**

  1. 建立连接的SYN到达某端口,但是该端口上没有正在 监听的服务。
  2. TCP收到了一个根本不存在的连接上的分节。
  3. 请求超时。 使用setsockopt的SO_RCVTIMEO选项设置recv的超时时间。接收数据超时时,会发送RST包。

HTTPS实验
1.我们打开一个新的浏览器输入 https://www.sangfor.com.cn 然后在后台开启wireshark的抓包功能,首先,浏览器和服务器三握手,建立连接。
在这里插入图片描述
4. https的发包过程:浏览器先发送client hello:
客户端给服务器发送一个随机值random1,和加密(暗号)套件。如图所示
在这里插入图片描述
5. 服务器给浏览器(客户端)发送server hello
同时我们从数据包中发现服务器也给客户端发送了一个随机值random2和证书。
在这里插入图片描述
四次挥手:
在这里插入图片描述

RST数据包

在这里插入图片描述

**

DNS解析过程:

**
当你在知浏览器中输入一个网址的时候,系统首先检查本地缓存中有没有相关的记录如果有则直接转道换为IP地址进行访回问,如果没有则连接到你ISP的主DNS服务器进行域名解析,如果还没有则向更上一级的DNS服务器寻找只到找到答为止。

我们在浏览器访问www.baidu.com这个域名,dns怎么查询到这台主机那?DNS解析有大致几个过程,如下:

  1. 浏览器先检查自身缓存中有没有被解析过的这个域名对应的ip地址,如果有,解析结束。同时域名被缓存的时间也可通过TTL属性来设置。

  2. 如果浏览器缓存中没有(专业点叫还没命中),浏览器会检查操作系统缓存中有没有对应的已解析过的结果。而操作系统也有一个域名解析的过程。操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个ip地址映射,完成域名解析,或者在windows中可通过c盘里一个叫hosts的文件来设置,如果你在这里指定了一个域名对应的ip地址,那浏览器会首先使用这个ip地址。
    但是这种操作系统级别的域名解析规程也被很多黑客利用,通过修改你的hosts文件里的内容把特定的域名解析到他指定的ip地址上,造成所谓的域名劫持。所以在windows7中将hosts文件设置成了readonly,防止被恶意篡改。

  3. 如果至此还没有命中域名,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器(LDNS),这台服务器一般在你的城市的某个角落,距离你不会很远,并且这台服务器的性能都很好,一般都会缓存域名解析结果,大约80%的域名解析到这里就完成了。

  4. 如果LDNS仍然没有命中,本地DNS就把请求发至13台根DNS (Root Server )域名服务器请求解析, 根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(baidu.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找baidu.com域服务器,重复上面的动作,进行查询,直至找到www.baidu.com主机。

  5. LDNS缓存这个域名和对应的ip

  6. LDNS把解析的结果返回给用户,用户根据TTL值缓存到本地系统缓存中,域名解析过程至此结束

浏览器缓存,系统缓存,路由器缓存,IPS服务器缓存,根域名服务器缓存,顶级域名服务器缓存,主域名服务器缓存。

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用Wireshark可以抓取并分析HTTPHTTPS协议的网络数据包。为了抓取和分析HTTPS协议的网络数据包,您需要安装Wireshark的SSL/TLS协议分析插件,这样就可以看到HTTPS协议的完整内容,并使用Wireshark的过滤器来分析HTTPS协议的数据包。 ### 回答2: Wireshark是一款开源的网络抓包工具,可以用于抓取网络数据包并进行分析。它支持抓取各种网络协议的数据包,并提供了简单易用的界面和丰富的功能,可以帮助我们深入了解网络通信过程。 首先,我们需要在Wireshark中配置HTTPS抓包的环境。HTTPS是一种加密的HTTP协议,通过SSL或TLS进行数据加密传输,保障通信的安全性。因此,要抓取HTTPS包,我们需要获取网站的SSL证书,并将其导入Wireshark。 在Wireshark中,我们可以选择“Edit”->“Preferences”菜单打开配置对话框。然后,在“Protocols”下拉菜单中选择“SSL”,点击“Browse”按钮,导入我们获取到的SSL证书。之后,Wireshark就能够解密HTTPS数据包,并将其显示为明文。 接下来,我们可以开始抓取HTTPS数据包。在Wireshark主界面的“Capture”菜单中,选择需要监控的网络接口,并设置过滤器,可以使用“ssl”或者“tcp.port == 443”过滤HTTPS流量。点击“Start”按钮开始抓取数据包。 当数据包被抓取后,我们可以在Wireshark的主界面上看到抓到的数据包列表。我们可以根据需要选择其中的一个数据包进行分析。在Wireshark主界面的数据包列表中,双击一个HTTPS数据包,可以展开该数据包的详细信息。 在数据包详细信息中,我们可以查看各个字段的值,如源IP地址、目的IP地址、源端口、目的端口等。对于HTTPS数据包,我们还可以查看SSL相关的信息,如SSL版本、加密套件、证书等。 通过分析数据包,我们可以了解HTTPS通信的具体过程,检查数据包的源和目的,以及数据包的长度、类型等信息。如果发现异常情况,我们可以根据数据包的详细信息进一步分析和排查问题。 总之,Wireshark是一款功能强大的网络抓包工具,通过配置和使用它,我们可以方便地抓取和分析HTTPS数据包,帮助我们深入了解网络通信过程,从而更好地进行网络故障排查和安全分析

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值