一、什么是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并配置受监听的网卡,点击捕获->选项
2.选择正在使用的网卡,点击开始。
3.电脑中开启浏览器或其他应用的时候都会有流量产生,有流量产生就会被wireshark捕捉到,下图为刚刚开启wireshark后的捕捉状态,会抓到各种各样的流量,稍后我们会进行过滤操作。
4.浏览器中输入带有https的网址,让wireshrk可以抓到包。
5.再次返回到wireshark页面,然后在应用显示过滤器一栏中输入过滤语句,本例中输入ip.dst == 192.168.12.93,即指定wireshark只列出目标地址是192.168.12.93的流量。
6. 选择任意协议为TLSv1的流量后右击选择追踪流->TCP流,发现数据均为加密,根本看不懂。接下来看看没有加密的HTTP传输是什么样子的。
***http传输中抓包***
1. 前三步与https传输中抓包是同样的操作,我们只需要在浏览器中输入一个是HTTP请求的连接即可,以简书的登录地址为例
2.wireshark抓包分析后的效果,注意看下图箭头所指的流量均给出了请求的具体资源地址,而https传输的时候只提示为“Application Data”
3. 接下来继续看,选择资源为POST /sessions HTTP/1.1的流量选择追踪流->TCP流,可以清晰的看到用户的登录名以及登录密码均可以被嗅探了。
最后发现,简书的登录操作中密码竟然没有进行加密处理就传输了...