shell实现socks代理
时间: 2024-10-27 17:14:18 浏览: 9
第70天:内网安全-域横向内网漫游Socks代理隧道技术1
Shell脚本可以利用一些工具如`autossh`、`socat`或`ss`(Systemd Socket activation)来设置SOCKS代理。以下是基本的步骤:
1. **使用autossh**:
- 安装autossh:`sudo apt-get install autossh`
- 创建配置文件(例如:`.ssh/autossh_config`),添加类似这样的内容:
```bash
Host socks-proxy
User your_username
HostName your_proxy_host
Port your_proxy_port
LocalForward all 127.0.0.1:1080
TunnelCommand 'autossh -M 0 -fN %h:%p'
```
- 运行代理服务:`autossh -R 1080:localhost:1080 socks-proxy`
2. **使用socat**:
- 安装 socat:`sudo apt-get install socat`
- 执行命令创建代理:
```bash
socat TCP-LISTEN:1080,fork,reuseaddr EXEC:"ssh -qNT your_username@your_proxy_host -L 127.0.0.1:1080:localhost:1080"
```
- 将这个命令放入后台运行。
3. **使用ss(Systemd Socket Activation)**:
- 对于基于systemd的系统,可以在`~/.config/systemd/user/sshd.socket`或类似文件中配置,启用socket activation,并指定转发规则。然后启动`sshd`服务。
请注意,你需要替换上述示例中的`your_username`、`your_proxy_host`和`your_proxy_port`为实际的用户名、代理服务器地址和端口。
阅读全文