应用协议复用器是一种工具,它允许您根据客户端发送的第一个数据包中的正则表达式模式匹配,将 TCP 或 UDP 流量转发到不同的地址。
使用方法
可以从源代码构建此工具,或者从发布页面下载名为 portfd 的预编译二进制文件。
可以使用简单的命令行参数运行 portfd ,请使用以下语法:portfd
对于更高级的用法,portfd 可以使用支持更复杂规则的配置文件启动。以
下是一个使用 YAML 格式的配置文件示例:
forwarders: - local: 0.0.0.0:8808 # Specify either 'remoteMap' or 'remote' remoteMap: - pattern: "[http:localhost]" remote: 192.168.44.43:5445 - pattern: "[https:baidu.com]" remote: "39.156.66.10:443" - pattern: "[ssh]" remote: "192.168.44.43:22" - pattern: .* remote: 192.168.100.46:3389 remote: <remote-address/127.0.0.1:2233> enable_tcp: true # Default is true enable_udp: true # Default is true conn_bufsize: 2MB max_connections: 10000 # Optional allow_nets: # Optional whitelist - 127.0.0.0/24
pattern字段支持四种格式,所有格式都将转换为正则表达式:
[http] 或 [http:domain_name]:仅将 HTTP 流量或与 domain_name 匹配的 HTTP 请求的主机名转发到指定的远程地址。
[https:domain_name]:匹配 HTTPS 流量中客户端 Hello 中的 SNI (服务器名称指示)。
[ssh]:仅将 SSH 流量转发。
任意正则表达式:仅将与此正则表达式匹配的首个接收到的数据包的流量转发。
下载:
portfd-Linux
评论 (0)