windows下frp socket内网穿透体验

本文详细指导如何在Windows平台上使用frp实现服务器端启动、配置frpc以穿透内外网,包括下载frp程序、配置文件参数及启动流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

步骤1:下载windows平台下的frp程序:

https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_windows_amd64.zipicon-default.png?t=LA92https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_windows_amd64.zip

步骤2:在阿里云服务器上,启动frp服务器端: 

 解压步骤1的frp程序,找到frps.ini配置文件

[common]
bind_port = 8011

上面的bind_port是指 frp客户端(frpc) 与frp 服务器(frps)通讯的端口; 

 在cmd下定位到frp程序所在目录:执行 frps.exe -c ./frps.ini 开启frps服务器端;

 步骤3: 回到本机,找到frpc.ini,修改如下配置:

[common]
server_addr = x.x.x.x
server_port = 8011

[tcp]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 8007

其中server_addr 是公网IP,这里就是阿里云服务器地址,server_port是frpc与frps通讯的端口;

下面的local_port是指本地电脑对外提供服务的端口,我这里是一个tcp 助手开启了一个8080端口;remote_port 是指frps对外访问的端口,例如tcp建立连接的端口,frps转发8007的数据到本地的8080端口上;

接着启动frpc客户端:frpc.exe -c ./frpc.ini

 这样就可以实现:外网第三方socket客户端连接到本地电脑提供的socket 服务上了,实现了内网的穿透。

 

### 使用 frp 实现点对点内网穿透的配置教程 frp 是一款高性能的反向代理应用,专注于内网穿透,支持多种协议(如 TCP、UDP、HTTP 和 HTTPS),并且具备点对点(P2P)通信功能[^2]。以下是实现点对点内网穿透的具体配置方法。 #### 服务端配置 在服务端,需要准备 `frps` 程序和 `frps.toml` 配置文件。以下是关键配置项: ```toml [common] bindPort = 7000 # 服务端监听的端口,客户端将通过此端口连接到服务端。 authToken = "123456" # 设置一个安全令牌,用于客户端和服务端之间的身份验证。 enableTunnelPreferTcpP2p = true # 启用 P2P 功能,优先使用 TCP 协议进行点对点通信。 ``` 启动服务端时,使用以下命令: ```bash ./frps -c ./frps.toml ``` #### 客户端配置 客户端需要配置 `frpc.toml` 文件,以建立与服务端的连接,并定义点对点的映射规则。 以下是一个示例配置文件: ```toml [common] serverAddr = "公网IP地址" # 替换为服务端的实际公网 IP 地址。 serverPort = 7000 # 与服务端配置中的 bindPort 保持一致。 authToken = "123456" # 必须与服务端的 authToken 相同。 [[tunnels]] name = "point-to-point-tcp" type = "tcp" localIP = "127.0.0.1" localPort = 22 # 替换为本地服务的实际端口号。 remotePort = 6000 # 替换为希望在服务端暴露的远程端口号。 useEncryption = true # 启用加密传输。 useCompression = true # 启用压缩传输。 preferTcpP2p = true # 强制使用 TCP 协议进行点对点通信。 ``` 启动客户端时,使用以下命令: ```bash ./frpc -c ./frpc.toml ``` #### 注意事项 1. 确保服务端的公网 IP 地址正确无误,并且防火墙已放行相关端口(如 `bindPort` 和 `webServer.port`)[^4]。 2. 如果客户端和服务端之间的网络条件允许,frp 将尝试建立直接的点对点连接,否则会通过服务端中转[^2]。 3. 在某些情况下,可能需要调整 `preferTcpP2p` 的值为 `false`,以适应特定的网络环境[^5]。 ```python # 示例代码:检查服务端和客户端是否正常运行 import socket def check_connection(host, port): try: with socket.create_connection((host, port), timeout=5) as sock: print(f"Connection to {host}:{port} succeeded.") except Exception as e: print(f"Connection to {host}:{port} failed: {e}") check_connection("公网IP地址", 6000) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值