Files
obsidian-valut-mq/随笔/网络冲浪中的隐私保护.md
2025-12-29 12:56:55 +08:00

65 lines
6.1 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 冲浪第一步 - 隐藏IP
隐藏 IP 地址基本上有两种方法可选。一种是使用代理服务器,另一种是使用虚拟专用网。
## 代理服务器
代理服务器Proxy Server是一种位于客户端和目标服务器之间的中间服务器其主要功能是转发客户端请求并代表客户端与目标服务器通信。一般来说代理服务器分为两种HTTP/HTTPS代理下面简称HTTP代理和SOCKET代理(本文以socks5举例下面称SOCKS 代理)。HTTP代理工作在应用层只为HTTP和HTTPS提供代理SOCKS 代理工作在传输层可以转发TCP和UDP代理。
下面是两种代理的区别
| 特性 | HTTP 代理 | SOCKS 代理 |
| ---- | ---------------------------- | --------------------------- |
| 工作层次 | 应用层 (HTTP/HTTPS) | 传输层/会话层 (TCP/UDP) |
| 协议支持 | HTTP, HTTPS | 所有 TCP 和 UDP 协议 |
| 透明度 | 可以修改 HTTP 响应 | 通常不修改应用层数据 |
| 安全性 | 取决于配置HTTPS 更好 | SOCKS5 支持认证和加密 |
| 缓存 | 可缓存 | 不可缓存 |
| 应用 | Web 浏览器, 访问 HTTP/HTTPS 网站的应用 | 任何需要连接 Internet 的应用,尤其是其他协议 |
ICMP协议不能使用代理服务器ICMP 消息直接由 IP 协议承载,**没有 TCP 或 UDP 头部**。 换句话说ICMP 本身不是建立在 TCP 或 UDP 之上的,所以不能使用以上两种代理服务器。
### 代理服务器的设置
#### Windows
对于Windows来说在设置中搜索"代理",即可设置代理服务器。
#### Linux
对于gnome和kde桌面都可以和Windows一样在设置中设置代理如果要单独对终端设置代理可以参考以下命令
```bash
export http_proxy=http://PROXYHOST:PROXYPORT
export https_proxy=http://PROXYHOST:PROXYPORT
export socks_proxy=socks5://PROXYHOST:PROXYPORT
export all_proxy=socks5://PROXYHOST:PROXYPORT
export http_proxy=http://USERNAME:PASSWORD@PROXYHOST:PROXYPORT
# 使用 socks proxy (使用本地 DNS)
export http_proxy=socks5://PROXYHOST:PROXYPORT
# 使用 socks proxy (使用远程 DNS)
export http_proxy=socks5h://PROXYHOST:PROXYPORT
```
http_proxy等变量大小写不敏感偷懒可以只设置all_proxy
#### MacOS
macOS可以在对应的网络连接中设置代理终端代理的设置参考Linux
#### 一些常用软件的设置
某些软件会提供代理服务器的设置不需要在系统中设置也可以对流量进行代理例如Firefox。
![[Pasted image 20250514170546.png]]
## 虚拟专用网
虚拟专用网 (VPN) 是另一种隐藏 IP 地址并保护在线活动的方法。与代理服务器不同VPN 在您的设备和 VPN 服务器之间创建了一个安全的、加密的隧道,所有通过该隧道传输的数据都会被加密。
### VPN 的工作原理
一般来说VPN软件会虚拟化出一张网卡将指定的流量转发到这张网卡上这张网卡上的流量由VPN软件加密并传输到VPN服务器上并从VPN服务器流出到公网。
VPN的方式下ICMP报文可以被代理。
### VPN 协议
VPN 使用不同的协议来建立和维护安全连接。常见的 VPN 协议包括:
- **OpenVPN** 一种开源协议,被广泛认为是最安全和可靠的 VPN 协议之一。
- **IPsec/IKEv2** 一种快速且安全的协议,通常用于移动设备。
- **WireGuard** 一种新兴的 VPN 协议建立在UDP上以其高性能和简单性而闻名。
- **L2TP/IPsec** 一种较旧的协议,安全性不如 OpenVPN 或 IKEv2。
- **PPTP** 一种非常过时的协议,安全性极低,应避免使用。
# 冲浪第二步 - 谨防DNS泄露
DNS 泄漏可能发生在隐藏IP之后由于DNS请求没有被转发到代理/VPN服务器下面简称远程服务器导致流量在远程服务器仍然发送到本地DNS解析的IP上。例如现在某个全球服务远程服务器B处于国家C你所在地域在国家D本地解析A的IP处于国家D当你通过远程服务器访问A时你的流量从B发出最终到达国家D这会让服务A感知到服务器B的IP存在异常流量因为在设计上服务器B的流量应该发送到国家C所处的IP。
## 防止DNS
### 使用代理服务器
在使用代理服务器的情况下只有SOCKS代理可以代理dns请求只要设置为`socks5h://PROXYHOST:PROXYPORT`即可。
### 使用VPN
在使用VPN的情况下需要指定系统的DNS服务器并设置其路由转发到对应的网络中。
# 冲浪第三步 - 屏蔽WebRTC
WebRTC (Web Real-Time Communication) 是一种**开源项目和技术标准**,它允许浏览器和移动应用程序通过简单的 API 实现**实时音视频通信和数据传输**无需安装任何插件或第三方软件。WebRTC对隐私浏览的影响主要体现在P2P连接上 WebRTC 尽可能地建立设备之间的直接 P2P 连接,减少通信延迟,提高效率,**同时会让远程服务器获取到你的真正IP**。
## 屏蔽WEbRTC
以Firefox为例使用[Disable WebRTC](https://addons.mozilla.org/en-US/firefox/addon/happy-bonobo-disable-webrtc/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search)插件禁止浏览器的WebRTC连接。
# 冲浪第四步 - 修改浏览器UserAgent
对于HTTP类型的服务服务器可以在网关处轻易的获取到流量中的UserAgent一般其中会包含当前浏览器的语言和操作系统的语言等信息这些信息很容易让前面三步的工作前功尽弃。例如某网站拒绝对某个区域C提供服务区域C使用语言C当浏览器访问此网站时网站可以根据UserAgent中的浏览器语言和操作系统语言拒绝并标记这个IP的访问流量。
## 修改UserAgent
以Firefox为例可以使用[# User-Agent Switcher and Manager](https://addons.mozilla.org/en-US/firefox/addon/user-agent-string-switcher/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search)插件修改UserAgent。