HTTP的工作方式算不上复杂,先由客户端向服务器发起一个请求,再由服务器回复一个响应。根据不同需要,客户端发送的请求会用到不同方法,有GET POST,PUT和HEAD等。比如在网站上登录账号时就可能用到POST方法。
由于HTTP协议基于TCP,所以上来就是三次握手。从图片可以看到,服务器的端口号为80
get参数后面就是要获取的内容,服务器将指定内容发送给客户端
下面为客户端发起的get请求数据包
下面为服务端的回应包
HTTP算不上一个复杂的协议,出问题的时候也能在浏览器上看到错误信息,所以我们用到Wireshark的机会并不多。
通过追踪HTTP流可以更加直观的看到,但是你会发现没有看到中文,你可以把右下角的编码改成UTC-8即可
我们在网站的搜索框中输入“测试”,通过抓包我们可以看的一清二楚,HTTP没有办法为数据提供加密
那要如何保护自己的信息呢?HTTPS就是一个不错的选择。
HTTPS服务器端口是443,关键词也被加密到了"Encrypted Application Data"里。
如果想要解密可以在Wireshark->编辑->首选项->RSA秘钥中添加
既然HTTPS包能被解码,是不是说明它也不安全呢?事实并非如此,因为解码所用到的密钥只能在服务器端导出。不同的服务器操作步骤有所不同。