DuplexPipe二三事(三)——网络中转站:端口映射

端口映射

在《DuplexPipe二三事(二)》中介绍了瑞士军刀 nc 的用法:nc 就像给程序一张飞机票,让原本只能在本地执行的程序也能运行在网络上!但网络和现实交通一样,很多地方需要中转才能到达(比如外网计算机无法直接访问公司内部 Web 服务器)。

为实现公网对内部网络的访问,需要对数据进行转发(即端口映射)。比如内网“主机A”开启了 Web(port 80)服务,需要在“服务器的网关”上设置:凡来自 Internet 上对 80 端口的请求,全部转发给内部网络中的“主机A”。这里的“服务器网关”可以是路由器、交换机或者一台 PC

工具简介

FPipe 是一款命令行下的端口映射工具,可以映射 TCP/UDP 协议,支持连接数的最大上限。你可以从它的官网(http://www.foundstone.com)下载到最新版本。下面是它的用法和几个常用的选项:

FPipe [-hvu?] [-lrs ] [-i IP] IP
  -l 在本地监听的端口
  -s 从哪个端口发送出重定向的信息
  -r 要定向到IP主机的端口号
  -u UDP 模式
  -v 详细地显示过程
示例:
  FPipe -v -l 80 -s 90 -r 80 192.168.1.100
  作用就是将来自本机80端口的信息,通过90端口,转发到主机192.168.1.100的80端口上去。

你可以尝试执行:“FPipe -l 80 -s 80 -r 80 203.208.39.160”,然后访问“http://localhost/”就会打开 Google 首页,因为203.208.39.160就是 Google 主机的 IP 地址,^_^。更多的内容请参见程序附带的帮助文档。

总结

对于在《DuplexPipe二三事(一)》中提出的“进程通信”问题,nc 可以让本地程序通过网络进行通信;本文介绍的 FPipe 就像一座桥梁,让内网和外网的网络程序也能顺利通信。但可惜 FPipe 本身不够灵活,它只有“监听本地端口,连接远程主机”这一种通信模式。用来应付服务端监听、客户端主动连接的 C/S 模式还可以,如果碰到两端都监听或两端都主动连接的网络程序,就无能力为了。为解决这个问题,需要清除我们的主角——“DuplexPipe”,详细内容请看《DuplexPipe二三事(四)》。


版权声明

请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“redraiment”和主站点地址,方便其他朋友提问和指正。

联系方式

我的邮箱,欢迎来信(redraiment@gmail.com
我的Blogger(子清行):http://redraiment.blogspot.com/
我的Google Sites(子清行):https://sites.google.com/site/redraiment
我的CSDN博客(梦婷轩):http://blog.csdn.net/redraiment
我的百度空间(梦婷轩):http://hi.baidu.com/redraiment

上一篇:postfix 日志分析工具


下一篇:在Android与recyclerview中使用列表和网格