Redsocks 是一个代理重定向工具,可以将流量通过 SOCKS 或 HTTP 代理传递。你可以使用它在 Kali Linux 中将流量通过代理服务器。以下是设置和使用 Redsocks 的步骤:
1. 安装 Redsocks
Redsocks 通常在 Kali Linux 上不可用,需要手动安装。首先,确保你有 git
和 build-essential
工具:
sudo apt-get update
sudo apt-get install git build-essential
然后,从 GitHub 上克隆 Redsocks 源代码并编译:
git clone https://github.com/darkk/redsocks.git
cd redsocks
make
sudo make install
2. 配置 Redsocks
Redsocks 的配置文件默认位于 /etc/redsocks.conf
。你可以创建或编辑这个配置文件。
sudo nano /etc/redsocks.conf
以下是一个典型的配置示例:
base {
log_debug = on;
log_info = on;
log = "file:/var/log/redsocks.log";
daemon = off;
redirector = iptables;
}
redsocks {
local_ip = 127.0.0.1;
local_port = 12345;
ip = 127.0.0.1;
port = 9050;
type = socks5;
login = "your_login";
password = "your_password";
}
local_ip
和local_port
是 Redsocks 在本地监听的地址和端口。ip
和port
是你要连接的代理服务器的地址和端口。type
可以是socks4
,socks5
,http-connect
,http-relay
等。- 如果代理不需要身份验证,可以省略
login
和password
。
3. 设置 iptables 规则
使用 iptables 将流量重定向到 Redsocks 监听的端口:
sudo iptables -t nat -N REDSOCKS
sudo iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
sudo iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
sudo iptables -t nat -A OUTPUT -p tcp -j REDSOCKS
这些规则会将本地 TCP 流量重定向到 Redsocks 监听的端口(此处为 12345
)。
4. 启动 Redsocks
配置完成后,你可以启动 Redsocks:
sudo redsocks -c /etc/redsocks.conf
你可以将 Redsocks 作为后台守护进程运行,也可以在前台测试时查看日志输出。
5. 验证配置
启动 Redsocks 后,你可以尝试访问外网,使用curl
来测试:
curl -I https://www.google.com
如果配置正确,你的流量应该通过代理服务器转发,并可以成功访问外网。
6. 停止和清理
如果你不再需要使用 Redsocks,可以停止 Redsocks 进程并清除 iptables 规则:
sudo killall redsocks
sudo iptables -t nat -F REDSOCKS
sudo iptables -t nat -D OUTPUT -p tcp -j REDSOCKS
sudo iptables -t nat -X REDSOCKS
这将停止 Redsocks 并还原网络配置。
通过这些步骤,你可以在 Kali Linux 中使用 Redsocks 将流量通过代理服务器。