1. 工具:wireshark
2. 网站:https://www.csdn.net/
3. http抓包及交互过程
(1)查看访问网站的ip地址
这里我们选中的受害者是CSDN网站https://www.csdn.net/
查看后发现网站IP地址为60.205.172.2
(2)查看本机ip
发现本机流量通过eth0网卡,并且IP地址为192.168.136.148
(3)在Wireshark中对选中的eth0网卡进行抓包,同时访问CSDN网站
(4)对所有数据包进行筛选,表达式为:ip.addr==60.205.172.2 ,如下图所示:
该三个数据包即为http三次握手数据包
(5)对info进行分析
(6)TCP协议三次握手
首先,客户端向服务器端发送一个seq为0的请求数据包;服务器收到后,返回一个新的seq的数据包,并且ack=seq+1=1;客户端收到后,对数据包进行确认,返回数据包ack=seq+1=1;TCP连接建立,开始传输数据。
4. 捕获https及分析
(1)知识介绍
https协议较http协议相比增加了加密过程,加密过程通过SSL(Security Socket Layer)协议以及TLS(Transfer Layer Security)协议来进行,TLS以建立在SSLV3.0的基础上, 两者的加密算法和MAC算法都不一样, 而协议本身差异性不大。
(2)分析Client Hello数据包
仍对CSDN网站进行抓包,如图所示:
在TCP三次握手之后,有一个从客户端发往服务器的TLS协议数据包,info为Client Hello,
打开数据包,观察TLS一层,发现有很多关于加密的信息,比如图中Cipher Suites是客户端允许的加密方式,例如AES、RSA算法等等。
(3)分析Server Hello数据包
观察TLS层,查看Server允许的加密方式,则通信间将使用如图的加密方式。
(4)分析SSL/TLS 交换证书的阶段
打开带有Certificate,Server Key Exchange,Server Hello Done标识的数据包,展开Secure Sockets Layer,让我们来仔细观察安全层所携带的数据。我们可以看到这一次tcp上面, tsl的数据包含了三块,分别是: 证书, 非对称加密的公钥(Server Key), 还有一个服务器信息结束标识。
可以看出有证书以及公钥,采用Diffie-Hellman密钥交换协议。
(5)客户端的密钥交换
打开带有Client Key Exchange,Change Cipher Spec, Encrypted Handshake Message标识的tcp数据包.
这一次的交互中, 客户端使用公钥对将对称加密的秘钥进行加密, 并发送给了服务器。