我不太清楚 HTTP 和 HTTPS 之间的区别,但是 HTTPS 请求可以将我的 IP 地址发送到主机并存储吗?
正在加密的数据类型有哪些?
答案1
对于互联网上的任何流量(IP = 互联网协议),您始终必须发送您的 IP 地址。可以伪造单向 UDP 流量的 IP 地址,但大多数 ISP 应该会过滤此行为。如果不发送正确的源地址,则无法建立 TCP 连接,而 SSL 是基于 TCP 的。
顾名思义,SSL(安全套接字层)在“套接字”层上工作。这意味着,除了一些初始安全握手之外,所有明文传输的内容都是源和目标的 IP 地址和端口以及一些 TCP 会话数据。
答案2
由于您与远程主机建立连接,因此远程主机知道您的 IP。它必须知道您的 IP 才能从服务器向您发送响应。
由于大多数时候您都是通过 URL 访问主机,因此必须执行 DNS 查找。DNS 服务器还必须知道您的 IP 地址,并且可能正在记录或统计您要查找的确切域名。
如果您位于 NAT 后面,除非您的流量通过 Web 代理运行,该代理会将您的内部 IP 添加为 HTTP 标头中的一行,否则服务器只会知道您的外部 IP。squid
例如,一个众所周知的缓存 Web 代理会这样做,除非您将其配置为不这样做。
当然,如果您(或另一个使用 HTTPS 的程序)故意将您的 IP 地址作为 HTTP 请求的一部分发送,即将其发布到表单并且它位于 POST 数据中,那么这当然是服务器可以知道的另一种方式。
在 HTTPS 中,所有数据都经过加密,包括标头和正文,并且您对服务器的请求也经过完全加密,其中包括确切的 URL。 维基百科有关 HTTPS 的文章详细介绍了许多“侧通道”类型的攻击,这些攻击可能会向坚定的拦截攻击者泄露有趣的信息。