commit 315631c7e34a19fd3bfb4081bb70c0c224f7da68 Author: wujiawei <1207537021@qq.com> Date: Sun Feb 12 09:09:08 2023 +0800 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..4fa9a7d --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ + +原理分析 +内网穿透的实现过程主要分三步 + +1、启动服务端,这时服务端监听了两个端口(16001,16002,可根据启动参数修改), + +一个用来接收客户端请求(16001端口), + +一个用来接收访客代理(16002端口) + +2、启动客户端,客户端访问服务端提供的(16001端口)建立连接(server-client通道) + +3、访客访问代理接口(16002端口),服务端监听到之后创建访客ID,然后通过(server-client通道)向客户端发送指令,客户端接收指令后连接到真实服务端口(8080,可根据启动参数修改),连接真实服务成功后,客户端会重新向服务端建立一条连接(访客-server通道),服务端把访客和该通道进行绑定 + +这三步最终形成了(访客-代理-客户端-真实服务)完整的通道。 + + +启动服务端 +java -jar cc-server.jar 16001 16002 + + +启动客户端 +java -jar cc-client.jar 127.0.0.1 16001 8080