端口镜像作为Windows服务

是否有人熟悉Windows的端口镜像或端口转换工具(如果它有所作为,2k8)? 我有Openfire的安装需要运行超过443,但是,它不支持该端口上的客户端连接(目前在端口5222)。 目前防火墙正在处理这个端口转换,但是这不适用于内部用户,因为DNS指向本地地址而不是防火墙。

您可以使用与其他答案类似的解决schemerinetd ,或者您可以以pipe理员身份运行Openfire,这将允许它在没有任何端口镜像的情况下侦听端口<1024,如443。

我不知道这是否使用相同的本地IP地址作为远程地址,但你可以尝试这个免费的工具: RelayTCP

RelayTCP允许将TCP / IP连接从本地端口redirect到远程IP和端口。

有两个版本的软件:

  • RelayTCP命令行:是执行一个套接字redirect的命令行可执行文件。
  • RelayTCP服务:是一个NT服务,允许多redirect。

如果您不介意encryptionXMPP会话(以及为什么?),您应该可以使用stunnel在两个端口之间进行代理。

有Windows二进制文件可用,但我不知道它是否可以作为一个“开箱即用”的服务运行。

你可以尝试cygwin下的socat,像netcat这样的“瑞士军刀”,但是为了双向连接而工作:

http://www.dest-unreach.org/socat/

来自手册页的一个例子:

 socat -d -d -lmlocal2 \ TCP4-LISTEN:80,bind=myaddr1,su=nobody,fork,range=10.0.0.0/8,reuseaddr \ TCP4:www.domain.org:80,bind=myaddr2 

TCP端口转发器,每一端绑定到另一个本地IP地址(绑定)。 这个例子在每个accept()之后通过fork一个新的进程来处理几乎任意数量的并行或连续的连接。 分叉后用户无人提供一点安全保障; 它只允许来自私有networking(范围)的连接; 由于重新使用adddr,它允许在主进程终止后立即重新启动,即使某些子sockets没有完全closures。 用-lmlocal2,socatlogging到stderr,直到成功到达accept循环。 进一步的日志logging被定向到设备local2的系统日志。

我会先看看Openfire的configuration文件,它非常灵活。 我已经使用了它一段时间了,但它监听的端口应该是基于XML的configuration文件中的一个configuration选项,并且一些Googlesearch和/或对文档的审查应该提供更多的细节configuration文件不是自我logging。 如果你可以在你的应用程序中解决这个问题,那么解决这个问题就没有用处,而且它可能(我不确定)是否能够立即在两个端口上收听。