Wireshark抓包分析HTTPS与HTTP报文的差异

一、什么是HTTPS:

HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。

HTTPS实际上应用了Netscape的安 全全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使 用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X。509数字认证,如果需要的话用户可以确认发送者是谁。

二、HTTPS和HTTP的区别:

https协议需要到ca申请证书,一般免费证书很少,需要交费。http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议 http和https使用的是完全不同的连接方式用的端口也不一样:前者是80,后者是443。

http的连接很简单,是无状态的 HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全。

三、比较操作步骤:

***https传输中抓包***

1.开启wireshark并配置受监听的网卡,点击捕获->选项

Wireshark抓包分析HTTPS与HTTP报文的差异
 

2.选择正在使用的网卡,点击开始。

Wireshark抓包分析HTTPS与HTTP报文的差异
 

3.电脑中开启浏览器或其他应用的时候都会有流量产生,有流量产生就会被wireshark捕捉到,下图为刚刚开启wireshark后的捕捉状态,会抓到各种各样的流量,稍后我们会进行过滤操作。

Wireshark抓包分析HTTPS与HTTP报文的差异
 

4.浏览器中输入带有https的网址,让wireshrk可以抓到包。

Wireshark抓包分析HTTPS与HTTP报文的差异
 

5.再次返回到wireshark页面,然后在应用显示过滤器一栏中输入过滤语句,本例中输入ip.dst == 192.168.12.93,即指定wireshark只列出目标地址是192.168.12.93的流量。

Wireshark抓包分析HTTPS与HTTP报文的差异
 

6. 选择任意协议为TLSv1的流量后右击选择追踪流->TCP流,发现数据均为加密,根本看不懂。接下来看看没有加密的HTTP传输是什么样子的。

Wireshark抓包分析HTTPS与HTTP报文的差异
 

***http传输中抓包***

    1. 前三步与https传输中抓包是同样的操作,我们只需要在浏览器中输入一个是HTTP请求的连接即可,以简书的登录地址为例

Wireshark抓包分析HTTPS与HTTP报文的差异
 

2.wireshark抓包分析后的效果,注意看下图箭头所指的流量均给出了请求的具体资源地址,而https传输的时候只提示为“Application Data”

Wireshark抓包分析HTTPS与HTTP报文的差异
 

3. 接下来继续看,选择资源为POST /sessions HTTP/1.1的流量选择追踪流->TCP流,可以清晰的看到用户的登录名以及登录密码均可以被嗅探了。

Wireshark抓包分析HTTPS与HTTP报文的差异
 

最后发现,简书的登录操作中密码竟然没有进行加密处理就传输了...

上一篇:函数中的this与argument对象,以及argument中的callee与caller属性


下一篇:python中函数的定义,调用,全局变量,局部变量,函数的嵌套使用-初级篇