HTTP/HTTPS代理
通过设置一个本地代理服务器,绕过某些网站的访问限制,常见的做法是使用 mitmproxy、charles、fiddler 等工具,或者手动配置本地浏览器或应用程序的代理设置。
-
实现方式:
- 本地服务器接收请求,然后转发到目标服务器。
- 支持加密(HTTPS)或非加密(HTTP)代理。
- 可以用于访问被限制的网站或内容。
-
优点:
- 灵活,支持多种协议。
- 可以直接在浏览器中配置,不需要编写代码。
-
缺点:
- 速度可能较慢,尤其是对于大文件或资源。
- 需要手动配置,可能对技术不熟悉的用户较难使用。
SSH隧道
通过SSH协议创建一个隧道,绕过某些网络限制,这种方法通常用于突破防火墙或访问被限制的网站。
-
实现方式:
- 在本地计算机上启动一个SSH服务器。
- 通过SSH隧道(
Local和Remote端点)转发请求到目标服务器。 ssh -L 808:target.com:80 localhost:22
这会将本地端口808转发到目标服务器(target.com)的80端口。
-
优点:
- 安全性高,数据传输加密。
- 灵活,支持多种协议。
- 不容易被网络管理员检测到。
-
缺点:
- 速度较慢,尤其是对于大文件或资源。
- 需要编写命令或配置。
socks5代理
通过配置应用程序使用socks5代理,绕过某些网络限制,socks5代理可以代理HTTP、HTTPS、FTP等协议,提供更高的匿名化和灵活性。
-
实现方式:
- 下载并安装socks5代理(如
socks5、shadowsocks)。 - 配置应用程序(如浏览器、IDE)使用socks5代理。
- socks5代理可以直接连接到远程服务器,提供匿名化访问。
- 下载并安装socks5代理(如
-
优点:
- 匿名性高,防止追踪。
- 支持多种协议。
- 灵活,支持多种代理服务器。
-
缺点:
- 速度可能较慢。
- 需要配置应用程序支持socks5。
VPN(虚拟专用网络)
通过VPN连接到一个远程服务器,绕过某些网络限制,VPN提供了加密的连接,避免被检测到真实IP地址。
-
实现方式:
- 下载并安装VPN客户端(如OpenVPN、 NordVPN)。
- 连接到一个远程服务器,设置本地网络接口为VPN地址。
- 这样,所有通过VPN连接的请求都会通过远程服务器,绕过本地网络限制。
-
优点:
- 安全性高,数据传输加密。
- 匿名性较高,隐私保护好。
- 支持多种协议。
-
缺点:
- 速度可能较慢,尤其是对于远距离服务器。
- 需要支付订阅费用。
Reverse Tunnel(反向隧道)
通过将本地服务器作为中继,转发请求到目标服务器,这种方法常用于绕过防火墙或限制。
-
实现方式:
- 本地服务器接收请求,然后转发到目标服务器。
nc -z -v target.com 80
使用
nc命令测试端口是否可达。
-
优点:
- 灵活,支持多种协议。
- 不需要复杂配置。
-
缺点:
- 速度可能较慢。
- 需要本地服务器支持。
HTTP反向代理
通过配置一个反向代理服务器(如Nginx、Apache),将请求转发到目标服务器,这种方法可以绕过某些网络限制。
-
实现方式:
- 部署一个反向代理服务器。
- 配置服务器监听本地端口,并将请求转发到目标服务器。
server { listen 80; location / { proxy_pass http://target.com:80; proxy_set_header Host target.com; proxy_set_header X-Real-IP $remote_addr; } }
-
优点:
- 支持高并发和大文件传输。
- 可以自定义请求头和响应头。
-
缺点:
- 配置可能较复杂。
- 需要服务器资源支持。
分叉代理(Forward Proxy)
通过在本地计算机上设置一个分叉代理,转发请求到目标服务器,这种方法可以绕过某些网络限制。
-
实现方式:
- 使用工具如
proximity、mitmproxy。 - 配置代理服务器监听本地端口,并转发请求到目标服务器。
proximity server --listen 808 --target target.com:80
- 使用工具如
-
优点:
- 灵活,支持多种协议。
- 不需要复杂配置。
-
缺点:
- 速度可能较慢。
- 需要本地服务器支持。
DNS隧道
通过DNS查询的方式绕过某些网络限制,这种方法通常用于绕过DNS过滤或访问被限制的网站。
-
实现方式:
- 使用工具如
dnspoo、dnscat。 dnscat --listen --port 53 --server 8.8.8.8
这会监听本地53端口,转发DNS请求到8.8.8.8(Google DNS)。
- 使用工具如
-
优点:
- 灵活,支持多种协议。
- 不容易被检测到。
-
缺点:
- 仅限于DNS协议。
- 需要特定的工具支持。
WebSocket代理
通过WebSocket协议绕过某些网络限制,这种方法可以用于访问被限制的网站或服务。
-
实现方式:
- 使用工具如
wsproxy、socket.io。 wsproxy server --listen 808 --target target.com:80
- 使用工具如
-
优点:
- 支持WebSocket协议。
- 灵活,支持多种应用场景。
-
缺点:
- 速度可能较慢。
- 需要特定的工具支持。
加密代理
通过加密代理技术,绕过某些网络限制,使用https代理访问被限制的HTTP网站。
-
实现方式:
- 配置本地浏览器或应用程序使用HTTPS代理。
curl --proto '=HTTP/1.1' --https2 https://target.com
-
优点:
- 数据传输加密,安全性高。
- 可以绕过某些网站的访问限制。
-
缺点:
- 速度可能较慢。
- 需要支持HTTPS协议。
分区代理
通过在本地网络中设置一个中间代理,绕过某些网络限制,这种方法通常用于企业内部网络,避免直接访问外部服务器。
-
实现方式:
- 部署一个本地代理服务器。
- 配置应用程序使用该代理服务器。
- Nginx、Apache、Squid等。
-
优点:
- 提供高性能和高并发支持。
- 可以自定义请求和响应。
-
缺点:
- 配置可能较复杂。
- 需要服务器资源支持。
socks5 vs socks4
socks5和socks4都是常用的代理协议,但它们的实现方式和特性有
