# frpc.ini[ssh]type = tcplocal_port = 22remote_port = 6000use_encryption = trueuse_compression = true
如果公司内网防火墙对外网访问进行了流量识别与屏蔽,例如禁止了 SSH 协议等,通过设置 use_encryption = true,将 frpc 与 frps 之间的通信内容加密传输,将会有效防止流量被拦截 。
如果传输的报文长度较长,通过设置 use_compression = true 对传输内容进行压缩,可以有效减小 frpc 与 frps 之间的网络流量,加快流量转发速度,但是会额外消耗一些 CPU 资源 。
2.6 TLS【保姆级教程:内网穿透工具使用总结】从 v0.25.0 版本开始 frpc 和 frps 之间支持通过 TLS 协议加密传输 。通过在 frpc.ini 的 common 中配置 tls_enable = true 来启用此功能,安全性更高 。
为了端口复用,frp 建立 TLS 连接的第一个字节为 0x17 。
注意:启用此功能后除 xtcp 外,不需要再设置 use_encryption 。
2.7 代理限速目前支持在客户端的代理配置中设置代理级别的限速,限制单个 proxy 可以占用的带宽 。
plain
# frpc.ini[ssh]type = tcplocal_port = 22remote_port = 6000bandwidth_limit = 1MB
在代理配置中增加 bandwidth_limit 字段启用此功能,目前仅支持 MB 和 KB 单位 。
2.8 范围端口映射在 frpc 的配置文件中可以指定映射多个端口,目前只支持 tcp 和 udp 的类型 。
这一功能通过 range: 段落标记来实现,客户端会解析这个标记中的配置,将其拆分成多个 proxy,每一个 proxy 以数字为后缀命名 。
例如要映射本地 6000-6005, 6007 这 6 个端口,主要配置如下:
plain
# frpc.ini[range:test_tcp]type = tcplocal_ip = 127.0.0.1local_port = 6000-6006,6007remote_port = 6000-6006,6007
实际连接成功后会创建 8 个 proxy,命名为 test_tcp_0, test_tcp_1 ... test_tcp_7 。
# 3. ew3.1 简介
EW 是一套便携式的网络穿透工具,具有 SOCKS v5服务架设和端口转发两大核心功能,可在复杂网络环境下完成网络穿透 。但是,现在工具已经不更新了 。。。
文章插图
3.2 特点
- 轻量级,C语言编写
- 可以设置多级代理
- 跨平台
- 但是只支持Socks5代理
以下使用方法均摘自:http://rootkiter.com/EarthWorm/以下所有样例,如无特殊说明代理端口均为1080,服务均为SOCKSv5代理服务.
该工具共有 6 种命令格式(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran) 。
1. 正向 SOCKS v5 服务器
plain
$ ./ew -s ssocksd -l 1080
2. 反弹 SOCKS v5 服务器这个操作具体分两步:
a) 先在一台具有公网 ip 的主机A上运行以下命令:
plain
$ ./ew -s rcsocks -l 1080 -e 8888
b) 在目标主机B上启动 SOCKS v5 服务 并反弹到公网主机的 8888端口plain
$ ./ew -s rssocks -d 1.1.1.1 -e 8888
成功 。3. 多级级联
工具中自带的三条端口转发指令, 它们的参数格式分别为:
plain
$ ./ew -s lcx_listen -l1080-e 8888$ ./ew -s lcx_tran-l1080-f 2.2.2.3 -g 9999$ ./ew -s lcx_slave-d 1.1.1.1 -e 8888-f 2.2.2.3-g9999
通过这些端口转发指令可以将处于网络深层的基于TCP的服务转发至根前,比如 SOCKS v5 。首先提供两个“二级级联”本地SOCKS测试样例:a) lcx_tran 的用法
plain
$ ./ew -s ssocksd-l 9999$ ./ew -s lcx_tran -l 1080 -f 127.0.0.1 -g 9999
b) lcx_listen、lcx_slave 的用法plain
$ ./ew -s lcx_listen -l 1080 -e 8888$ ./ew -s ssocksd-l 9999$ ./ew -s lcx_slave-d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999
再提供一个“三级级联”的本地SOCKS测试用例以供参考plain
$ ./ew -s rcsocks -l 1080 -e 8888 $ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999$ ./ew -s lcx_listen -l 9999 -e 7777$ ./ew -s rssocks -d 127.0.0.1 -e 7777
数据流向: SOCKS v5 -> 1080 -> 8888 -> 9999 -> 7777 -> rssocks# 4. ngrok4.1 简介
ngrok 是一个反向代理,通过在公共端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网 。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放,所以ngrok可以很方便地协助服务端程序测试 。4.2 特点