HTTP/HTTPS 抓包 | 青训营

122 阅读2分钟

前言

浅浅写一下实践笔记,这次先拿HTTP/HTTPS试试水,其实也是总结一下学习成果啦。

HTTP/HTTPS 抓包原理

首先,我们要先了解原理,才能够更好地学习和应用,然后寻找一下专业解析。

HTTP/HTTPS抓包原理是指通过监听网络流量,获取HTTP/HTTPS请求和响应的过程。抓包工具可以截获网络数据包,并将其解析成可读的格式,以便分析和调试网络通信。

在HTTP通信中,客户端发送HTTP请求到服务器,服务器返回HTTP响应。抓包工具可以截获这些请求和响应,并显示它们的详细信息,如请求方法、URL、请求头、响应状态码、响应头等。

HTTPS是基于SSL/TLS协议的安全的HTTP通信。在HTTPS通信中,抓包工具需要能够解密SSL/TLS加密的数据才能获取明文的HTTP请求和响应。为了实现这一点,抓包工具通常会使用自己的证书来替换服务器的证书,使客户端相信它是服务器,并将加密数据解密后显示。

学习到对HTTP抓包,无需做过多的处理,只需要让中间人负责转发客户端和服务端的数据包。而HTTPS是在 HTTP 协议栈中 http 与 tcp 之间插入安全层 SSL/TSL。HTTPS有了安全层,相对于HTTP,就有效解决了没有加密的核心问题。

HTTP + 加密 + 认证 + 完整性保护 = HTTPS

学习了在ngnix配置https:

  • 在HTTP(80端口)的server块中添加一个重定向,将所有HTTP请求重定向到HTTPS:
server { listen 80; 
         server_name yourdomain.com; 
         return 301 https://$host$request_uri;
}
  • 在HTTPS(443端口)的server块中添加以下配置:
server { 
   listen 443 ssl;
   server_name yourdomain.com; 

   ssl_certificate /path/to/ssl_certificate.crt; 
   ssl_certificate_key /path/to/private_key.key;

# 添加其他HTTPS参数,如优先加密算法、TLS版本等(可选)

   ssl_protocols TLSv1.2;
   ssl_prefer_server_ciphers on;
   ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; 
   
# 配置其他Nginx选项,如目录、代理等(根据你的具体需求进行配置)

   location / {
       root /path/to/website;
       index index.html; 
   }
}
  • 保存并退出配置文件。

总结

学的东西不多,小白一枚,继续学习。