forwardPort

Go 语言的端口转发工具
授权协议 Apache
开发语言 Google Go
所属分类 服务器软件、 代理服务器软件
软件类型 开源软件
地区 国产
投 递 者 鞠嘉志
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

forwardPort

端口转发/映射工具 forward for port data

编译:

配置好你的GO开发环境,推荐GO 1.7以上;

执行build.dat,会自动编译出linux和windows的执行程序,文件名分别为:“forwardPort”、“forwardPort.exe”

为了方便大家使用,我将已编译好的二进制文件也提供给大家:

Windows-64位:

https://github.com/tavenli/forwardPort/releases/download/1.0/forwardPort-win-64.zip

Linux-64位:

https://github.com/tavenli/forwardPort/releases/download/1.0/forwardPort-linux-64.zip

场景1:

工作中,有时候会碰到A服务器可以访问B服务器,但是你只能访问到A服务器,B服务器限制了只有A服务器能访问它;如果你需要访问B服务器,必须通过A服务器跳一次。

forwardPort工具就是可以让你在A服务器上开启一个端口,当你访问A服务器上的端口时,实际访问的是B服务器的某个端口。

操作步骤:

A服务器IP:10.10.1.100

B服务器IP:10.11.2.20

1、在A服务器上执行:

forwardPort.exe

(注:linux系统执行 ./forwardPort)

2、执行成功后,默认监听8000端口,这时打开浏览器,访问:http://10.10.1.100:8000/ServerSummary  会返回当前程序的统计信息,返回内容为JSON数据。

如果访问不了,请检查A服务器上防火墙是否开启8000端口的访问。

3、开启转发,将A机器上的8010端口转发到B服务器上的3389端口:

http://10.10.1.100:8000/ForwardWork?auth=taven123&status=1&fromAddr=:8010&toAddr=10.11.2.20:3389

4、开启后,您就可以通过 10.10.1.100:8010 端口连接了,此时你实际连接到的是 10.11.2.20 上的 3389

上面只是个例子,你可以随时启用任意端口与任意机器之间的端口映射。

当你使用完毕后,可以立即关闭端口转发,只需要执行如下请求即可:

http://10.10.1.100:8000/ForwardWork?auth=taven123&status=0

执行后,端口转发关闭,端口被释放。

其它说明

windows-64下:

> forwardPort.exe

> forwardPort.exe -auth 123 -restApi 10.10.1.100:9999

linux-64下:

$ ./forwardPort

$ ./forwardPort -auth 123 -restApi 10.10.1.100:9999

参数说明:

auth:rest接口调用时的密码,启动时不带该参数,则默认为:taven123

restApi:rest接口监听的地址,启动时不带该参数,则默认为:0.0.0.0:8000

#REST接口参数说明:

/ForwardWork?auth=taven123&status=1&fromAddr=:8010&toAddr=10.11.2.20:3389

auth:密码,默认为taven123

status:如果是开启转发,则为1,如果是关闭转发,则为0

fromAddr:要用来在A机器上监听的一个端口,用来给客户端连接

toAddr:把fromAddr端口的数据转发到哪个IP的端口上

如果是本机内转发,可以这样:

/ForwardWork?auth=taven123&status=1&fromAddr=:8010&toAddr=:22

表示把机器上的8010端口映射到本机的22端口.

  • packagemain import(     "encoding/json"     "flag"     "fmt"     "io"     "log"     "net"     "net/http"     "os"     "os/signal"     "runtime"     "sync"     "syscall"     "time" ) //监听服务地址 默认使用8000

  • package main import (     "encoding/json"     "flag"     "fmt"     "io"     "log"     "net"     "net/http"     "os"     "os/signal"     "runtime"     "sync"     "syscall"     "time" ) var restApiServe

 相关资料
  • 端口转发(Forwarded Port)。请求访问主机(你的电脑)上的某个端口,把请求转发到虚拟机上的某个端口。比如你在虚拟机上安装了一个 Web 服务器,默认它会在虚拟机上的 80 端口提供接待服务。你可以配置一个端口转发,当访问主机上的某个端口的时候,把请求转发到虚拟机上的 80 端口。下面通过一个试验你就很容易理解这个端口转发。 端口转发配置 打开 Vagrantfile,添加一行配置代码:

  • LiteIDE LiteIDE是一款开源、跨平台的轻量级Go语言集成开发环境(IDE)。 支持的操作系统 Windows x86 (32-bit or 64-bit) Linux x86 (32-bit or 64-bit) 下载地址 :http://sourceforge.net/projects/liteide/files/ 源码地址 :https://github.com/visualfc/

  • 我遇到的问题是,我无法在我希望看到的端口上看到应用程序。我正在公开端口8080并在8080上运行uwsgi进程,但在浏览器中找不到ip地址的应用程序。我只是得到谷歌Chrome的‘此网页不可用’。(我使用的是Mac,所以我需要获得boot2docker的ip地址)。容器显然正在运行,并报告我的uwsgi和celery进程也都成功运行。 运行时,得到的响应如下 ...因此容器似乎正在接受端口8080

  • 来宾计算机被配置为NAT,并且为主机端口2222到来宾端口22的启用端口转发。 guest上的的输出: guest上的的输出: null 任何帮助都将不胜感激。在我的Mac Book上使用OS-X很好。

  • 比如我自己填写好一台linux服务器(公网的)的 ip port username password 给它 然后指定好需要转发的端口情况,实现将本地的端口转发到公网去。 我知道ssh就可以实现,但是每次都输入很麻烦,希望有web界面可以管理。

  • 9.3* Perl 语言接口开发 本节将专门讲一讲 if_perl 接口的开发指导与实践经验,虽然只讲 perl ,但其基本 思路对于其他语言接口也可互为参照。 9.3.1 VimL 调用 perl 接口的基本流程 典型地,假如要使用(perl)语言接口实现某个较为复杂的功能或插件,其调用流程大概 可归纳如下: 定义快捷键映射,nnoremap ,这不一定必要,可能直接使用命令也方便; 快捷键调用

  • 记事本,开发效率极低 Vim,初学者入门门槛高 VSCode,不喜欢 Sublime Test,不喜欢 GoLand,喜欢,当收费 LiteIDE(开源免费, 跨平台运行,轻量级) 生男生女都一样, 最关键是你中意哪个就用哪个 Goland 安装 下载安装包:点我下载 Goland,提取码:lm7v 运行安装文件 疯狂下一步 激活程序:自行淘宝 JetBrains 激活,仅供学生党参考, 在职人员

  • 问题内容: 我有这两个容器,例如(CentOs)和。我想拥有的是,可以从容器中连接到mongo数据库,就像它在本地运行一样, 无论如何,据我所知,您可以像这样将端口localhost:27017映射到mongo:27017 但是,如果执行此操作,则必须提供root密码,然后它会将我登录到容器中,并且不会发生端口转发 背景:我想这样做是因为我正在运行一个Java程序,该程序连接到localhost上