一、冲浪第一步 - 隐藏IP
隐藏 IP 地址基本上有两种方法可选。一种是使用代理服务器,另一种是使用虚拟专用网。
1.1 代理服务器
代理服务器(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 之上的,所以不能使用以上两种代理服务器。
1.2 代理服务器的设置
Windows
对于Windows来说,在设置中搜索"代理",即可设置代理服务器。
Linux
对于gnome和kde桌面,都可以和Windows一样在设置中设置代理,如果要单独对终端设置代理,可以参考以下命令:
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。
1.3 虚拟专用网
虚拟专用网 (VPN) 是另一种隐藏 IP 地址并保护在线活动的方法。与代理服务器不同,VPN 在您的设备和 VPN 服务器之间创建了一个安全的、加密的隧道,所有通过该隧道传输的数据都会被加密。
1.3.1 VPN 的工作原理
一般来说VPN软件会虚拟化出一张网卡,将指定的流量转发到这张网卡上,这张网卡上的流量由VPN软件加密并传输到VPN服务器上,并从VPN服务器流出到公网。⚠️VPN的方式下,ICMP报文可以被代理。
1.3.2 VPN 协议
VPN 使用不同的协议来建立和维护安全连接。常见的 VPN 协议包括:
OpenVPN:一种开源协议,被广泛认为是最安全和可靠的 VPN 协议之一。
IPsec/IKEv2: 一种快速且安全的协议,通常用于移动设备。
WireGuard: 一种新兴的VPN 协议,建立在UDP上,以其高性能和简单性而闻名。
L2TP/IPsec:一种较旧的协议,安全性不如 OpenVPN或 IKEv2。
PPTP:一种非常过时的协议,安全性极低,应避免使用。
二、冲浪第二步 - 谨防DNS泄露
DNS 泄漏可能发生在隐藏IP之后,由于DNS请求没有被转发到代理/VPN服务器(下面简称远程服务器),导致流量在远程服务器仍然发送到本地DNS解析的IP上。例如现在某个全球服务A,远程服务器B处于国家C,你所在地域在国家D,本地解析A的IP处于国家D,当你通过远程服务器访问A时,你的流量从B发出,最终到达国家D,这会让服务A感知到服务器B的IP存在异常流量,因为在设计上服务器B的流量应该发送到国家C所处的IP。
2.1 防止DNS
使用代理服务器
在使用代理服务器的情况下,只有SOCKS代理可以代理dns请求,只要设置为socks5h://PROXYHOST:PROXYPORT即可。
使用VPN
在使用VPN的情况下,需要指定系统的DNS服务器,并设置其路由转发到对应的网络中。
三、冲浪第三步 - 屏蔽WebRTC
WebRTC (Web Real-Time Communication) 是一种开源项目和技术标准,它允许浏览器和移动应用程序通过简单的 API 实现实时音视频通信和数据传输,无需安装任何插件或第三方软件。WebRTC对隐私浏览的影响主要体现在P2P连接上, WebRTC 尽可能地建立设备之间的直接 P2P 连接,减少通信延迟,提高效率,同时会让远程服务器获取到你的真正IP。
3.1 屏蔽WEbRTC
以Firefox为例,使用Disable WebRTC插件禁止浏览器的WebRTC连接。
四、冲浪第四步 - 修改浏览器UserAgent
对于HTTP类型的服务,服务器可以在网关处轻易的获取到流量中的UserAgent,一般其中会包含当前浏览器的语言和操作系统的语言等信息,这些信息很容易让前面三步的工作前功尽弃。例如某网站拒绝对某个区域C提供服务,区域C使用语言C,当浏览器访问此网站时,网站可以根据UserAgent中的浏览器语言和操作系统语言拒绝并标记这个IP的访问流量。
4.1 修改UserAgent
以Firefox为例,可以使用# User-Agent Switcher and Manager插件修UserAgent。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...