# PortMirroring **Repository Path**: redfire0922/PortMirroring ## Basic Information - **Project Name**: PortMirroring - **Description**: 内网中服务器端口A映射到外网服务器上的端口B。访问外网服务器端口B等同访问内网端口A。实现内网穿透功能。 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2018-07-13 - **Last Updated**: 2021-02-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PortMirroring #### 项目介绍 内网中服务器的端口A映射到外网服务器的端口B。访问外网端口B等同访问内网端口A。能够实现内网穿透,数据中传功能。 #### 软件架构 中转端处于内网,镜像端处于外网。镜像端被动接受用户和中转端连接;中转端主动连接目标服务器与镜像端成为之间的桥梁,其中与镜像端(端口X)建立数据长链接。当镜像端(端口B)接受用户访问并通过中转端将数据中转到目标服务器(端口A)上。同理,目标服务器的返回数据也将按原路通过-中转端-镜像端-返回到用户。 #### 安装教程 1. 需求golang运行环境可参考如下链接搭建 https://blog.csdn.net/dengming0922/article/details/81877589 2. 根据运行环境的操作系统版本编译源代码生成可执行文件 ``` $go get gitee.com/redfire0922/PortMirroring $go install gitee.com/redfire0922/PortMirroring ``` go get 命令下载源代码需要git支持,因此请确保git已安装。 3. 在GoPath的bin文件夹下找到PortMirroring,根据参数约定执行文件 #### 使用说明 1. 外网服务器上启动镜像端(ip 10.10.10.10) **-S** 启动镜像端 **-b** 镜像端-镜像地址B (default ":6060") **-X** 镜像端-通道地址X (default ":6050") ``` PortMirroring -S -b :6060 -X :6050 ``` 2. 内网服务器上启动中转端(目标服务器ip 192.168.1.100:1234) **-C** 启动中转端 **-x** 中转端-通道地址x **-a** 中转端-目标地址A ``` PortMirroring -C -a 192.168.1.100:1234 -x 10.10.10.10:6050 ``` 3. 用户访问 10.10.10.10:6060 #### 参与贡献 1. Fork 本项目 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [http://git.mydoc.io/](http://git.mydoc.io/) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)