内网socks代理工具
原创
One
One
One security
2026年11月4日 22:09
北京
去阅读
内网 B 能访问内网 A,内网 A 能访问更深的业务网,但内网 B 没有到业务网的路由。这个结构很常见,解决起来也不复杂:在 A 上运行一个 SOCKS5 代理,B 的工具指向它就行。
下面只讲三件事:原理、适用场景、怎么用。
一、原理
SOCKS5 是一个应用层代理协议。B 不直接连接目标,而是把目标地址告诉 A 上的代理;代理代替 B 去连接目标,再把数据转发回来。
请求路径很简单:B → A:1080(SOCKS5)→ 目标网络。
关键点在于:A 不需要有互联网出口。代理借用的不是 A 的“出网能力”,而是 A 到目标网段的路由。只要 A 能访问目标,B 就能通过 A 访问目标。
整个过程不改路由、不加 VPN、不动网络设备,只在 A 上多监听一个 TCP 端口。它不需要 A 有公网 IP,不需要 A 能上网,也不需要 B 和目标网段之间有任何路由。
二、适用场景
满足下面三条,就可以用这个方案:
- B 能访问 A 的代理端口;
- A 能访问目标网段;
- B 与目标网段之间没有直达路由,或者你不想为临时需求改动路由。
典型场景:
- 运维或测试网访问生产内网的管理页面;
- 临时接入一个不能改路由的网段;
- A 是双网卡跳板机,但没有互联网出口;
- Windows 和 Linux 混合环境,需要一个统一入口。
三、使用方法
假设 A 的地址是 10.1.1.10,B 的地址是 10.20.30.40,目标网段里有一台 10.2.2.20。
1. 在 A 上启动
Linux:
chmod +x tunneld_linux_amd64_v1.0.0./tunneld_linux_amd64_v1.0.0 -l 0.0.0.0:1080 -user tunnel -pass 'ChangeThisPassword!' -max-conn 2048 -buf 128 -idle 300
Windows:
.\\tunneld_windows_amd64_v1.0.0.exe -l 0.0.0.0:1080 -user tunnel -pass \"ChangeThisPassword!\" -max-conn 2048 -buf 128 -idle 300
不带 -user 和 -pass 就是无认证。内网服务建议开启认证,并配合防火墙限制来源。
2. 在 B 上使用
curl:
curl --socks5-hostname 10.1.1.10:1080 http://10.2.2.20:8080/
带认证:
curl --socks5-hostname 'tunnel:[email protected]:1080' http://10.2.2.20:8080/
浏览器:设置 → 网络设置 → 手动配置代理,SOCKS 主机填 10.1.1.10,端口 1080,选择 SOCKS v5,并勾选“使用 SOCKS v5 时代理 DNS 查询”。
4. 验证
四、常用参数
| 参数 | 默认值 | 说明 |
|---|---|---|
-l |
0.0.0.0:1080 |
监听地址 |
-user / -pass |
空 | 同时设置才启用认证 |
-max-conn |
0 |
最大并发连接数,0 不限制 |
-idle |
300 |
空闲超时,单位秒 |
-buf |
64 |
转发缓冲区,单位 KB |
-timeout |
15 |
握手与连接超时,单位秒 |
-log |
空 | 日志文件路径,默认输出到 stderr |
需要的师傅可以加入群聊私信即可
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论