使用多个虚拟机,将开发环境和工作沟通环境分开(即时通,办公系统都只能在windows下使用…),将开发环境的服务提供给外部访问时,需要在主机上通过代理配置数据转发。

VirtualBox提供了端口转发的功能,可以将主机中的端口转发至指定IP的虚拟机中的端口,支持TCP协议和UDP协议。但有一个缺点:需要重启虚拟主机才生效。

其实在Windows中,如果想做端口转发,可以使用Windows自身携带的服务:netsh,使用netsh interface portproxy指令,新增和修改配置信息后,即时生效,并且重启系统后配置信息仍然存在,非常方便。适用于WindowsXP、Windows7,其他的版本还没有试过,支持IPv4和IPv6,但是只支持TCP协议。

新增端口转发

1、命令

netsh interface portproxy add v4tov4 - 添加通过 IPv4 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy add v4tov6 - 添加通过 IPv6 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy add v6tov4 - 添加通过 IPv4 的 IPv6 和代理连接到的侦听项目。
netsh interface portproxy add v6tov6 - 添加通过 IPv6 的 IPv6 和代理连接到的侦听项目。

2、命令语法

以netsh interface portproxy add v4tov4为例,其语法格式如下:

netsh interface portproxy add v4tov4 [listenport=]<integer>|<servicename>
            [connectaddress=]<IPv4 address>|<hostname>
            [[connectport=]<integer>|<servicename>]
            [[listenaddress=]<IPv4 address>|<hostname>]
            [[protocol=]tcp]

参数:
        标记            值
        listenport      - IPv4 侦听端口。
        connectaddress  - IPv4 连接地址。
        connectport     - IPv4 连接端口。
        listenaddress   - IPv4 侦听地址。
        protocol        - 使用的协议。现在只支持 TCP。
说明: 添加通过 IPv4 的 IPv4 和代理连接到的侦听项目。

3、使用示例

netsh interface portproxy add v4tov4 listenport=8080 connectaddress=192.168.56.101 connectport=8080

将本地的8080端口的数据转发至192.168.56.101上的8080端口。

netsh interface portproxy add v4tov4 listenport=9090 connectaddress=192.168.56.101 connectport=9090

将本地的9090端口的数据转发至192.168.56.101上的9090端口。

显示所有的端口转发配置信息

1、命令

netsh interface portproxy show all - 显示所有端口代理参数。
netsh interface portproxy show v4tov4 - 显示 IPv4 代理连接到另一个 IPv4 端口的参数。
netsh interface portproxy show v4tov6 - 显示 IPv4 代理连接到 IPv6 的参数。
netsh interface portproxy show v6tov4 - 显示 IPv6 代理连接到 IPv4 的参数。
netsh interface portproxy show v6tov6 - 显示 IPv6 代理连接到另一个 IPv6 端口的参数。

2、使用示例

netsh interface portproxy show all

控制台显示如下信息:
侦听 ipv4:                 连接到 ipv4:
地址            端口        地址            端口
--------------- ----------  --------------- ----------
*               8080        192.168.56.101  8080
*               9090        192.168.56.101  9080

修改端口转发配置

1、命令

netsh interface portproxy set v4tov4     - 更新通过 IPv4 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy set v4tov6     - 更新通过 IPv6 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy set v6tov4     - 更新通过 IPv4 的 IPv6 和代理连接到的侦听项目。
netsh interface portproxy set v6tov6     - 更新通过 IPv6 的 IPv6 和代理连接到的侦听项目。

2、命令语法

以netsh interface portproxy set v4tov4为例,其语法格式如下:

netsh interface portproxy set v4tov4 [listenport=]<integer>|<servicename>
            [connectaddress=]<IPv4 address>|<hostname>
            [[connectport=]<integer>|<servicename>]
            [[listenaddress=]<IPv4 address>|<hostname>]
            [[protocol=]tcp]

参数:
        标记            值
        listenport      - IPv4 侦听端口。
        connectaddress  - IPv4 连接地址。
        connectport     - IPv4 连接端口。
        listenaddress   - IPv4 侦听地址。
        protocol        - 使用的协议。现在只支持 TCP。
说明: 更新通过 IPv4 的 IPv4 和代理连接到的侦听项目。

3、使用示例

netsh interface portproxy set v4tov4 listenport=9090 connectaddress=192.168.56.101 connectport=9080

将本地9090端口改成转发至192.168.56.101的9080端口中。

删除端口转发配置

1、命令

netsh interface portproxy delete v4tov4  - 删除通过 IPv4 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy delete v4tov6  - 删除通过 IPv6 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy delete v6tov4  - 删除通过 IPv4 的 IPv6 和代理连接到的侦听项目。
netsh interface portproxy delete v6tov6  - 删除通过 IPv6 的 IPv6 和代理连接到的侦听项目。

2、命令语法

以netsh interface portproxy delete v4tov4为例,其语法格式如下:

netsh interface portproxy delete v4tov4 [listenport=]<integer>|<servicename>
            [[listenaddress=]<IPv4 address>|<hostname>]
            [[protocol=]tcp]

参数:
       标记             值
       listenport     - 要侦听的 IPv4 端口。
       listenport     - 要侦听的 IPv4 地址。
       protocol       - 要使用的协议。当前仅支持 TCP。
注释: 删除要侦听的 IPv4 的项并通过 Ipv4 代理连接。

3、使用示例

netsh interface portproxy delete v4tov4 listenport=9090

删除本地端口9090的端口转发配

netsh端口转发的更多相关文章

  1. windows自带的netsh 端口转发

    netsh interface portproxy show v4tov4 (3)添加“端口映射” netsh interface portproxy add v4tov4 listenaddress ...

  2. Windows自带的端口转发工具netsh使用方法_DOS/BAT

    Windows自带的端口转发工具netsh使用方法_DOS/BAT   作者:用户 来源:互联网 时间:2017-02-22 17:24:30 netsh 端口转发 摘要: 下面的代码在windows ...

  3. windows命令行下用netsh实现端口转发(端口映射)

    微软Windows的netsh是一个命令行脚本实用工具.使用netsh工具 ,可以查看或更改本地计算机或远程计算机的网络配置.不仅可以在本地计算机上运行这些命令,而且可以在网络上的远程计算机上运行. ...

  4. 如何在Windows中使用netsh命令进行端口转发

    自Windows XP开始,Windows中就内置网络端口转发的功能.任何传入到本地端口的TCP连接(IPv4或IPv6)都可以被重定向到另一个本地端口,或远程计算机上的端口,并且系统不需要有一个专门 ...

  5. 转:windows 下 netsh 实现 端口映射(端口转发)

    本文转自:本文出自 “httpyuntianjxxll.spac..” 博客,请务必保留此出处http://333234.blog.51cto.com/323234/1135361 -----hapr ...

  6. 【Windows】netsh动态配置端口转发

    文章转载自傲风 使用多个虚拟机,将开发环境和工作沟通环境分开(即时通,办公系统都只能在windows下使用-),将开发环境的服务提供给外部访问时,需要在主机上通过代理配置数据转发. VirtualBo ...

  7. Windows自带的端口转发工具netsh使用方法

    微软Windows的netsh是一个命令行脚本实用工具.使用netsh工具 ,可以查看或更改本地计算机或远程计算机的网络配置.不仅可以在本地计算机上运行这些命令,而且可以在网络上的远程计算机上运行. ...

  8. 在windows上用netsh动态配置端口转发

    使用多个虚拟机,将开发环境和工作沟通环境分开(即时通,办公系统都只能在windows下使用…),将开发环境的服务提供给外部访问时,需要在主机上通过代理配置数据转发. VirtualBox提供了端口转发 ...

  9. 巧用netsh命令实现端口转发(端口映射)不求人

    好处:即时生效,随意修改删除,不影响其他ip映射 记事本保存为bat格式批量添加后,并查看映射: netsh interface portproxy add v4tov4 listenport=701 ...

随机推荐

  1. java注释规范

    前言:      现在java的出产地sun公司并没有定义一个java注释规范,注释规范目前是每个公司自己有自己的一套规范,主要是为了团队之间的协作. 1.基本规则      1.注释应该使代码更加清 ...

  2. String类型中ToString hashCode equals compareTo等方法的经典实现

    private final char value[]; private int hash; // Default to 0 public String(String original) { this. ...

  3. Linux 学习手记(6): 磁盘、分区、MBR与GPT

    1. 磁盘在LINUX中的表示 Linux所有设备都被抽象为一个文件,保存在/dev目录下 设备名称一般为hd[a-z]或者sd[a-z]([a-z]为分区号),如:hda.hdb.sda.sdb I ...

  4. HtmlEncode和JavaScriptEncode(预防XSS)

    在数据添加到DOM时候,我们可以需要对内容进行HtmlEncode或JavaScriptEncode,以预防XSS攻击. JavaScriptEncode 使用“\”对特殊字符进行转义,除数字字母之外 ...

  5. Ajax异步刷新地址栏url改变(利用Html5 history.pushState实现)

    早些时候在博客园参阅了不少资料,然后决定入驻博客园分享自己的开发心得,最近准备转方向筹备着辞职交接工作,所以有点忙碌,搁置了一个月才匆匆写下这么一篇随笔,希望能给大家带来一点帮助吧,资料和学识有限,如 ...

  6. Quartz2D复习(二) --- 手势解锁

    这次支付宝手机客户端升级,把手势解锁那个功能去掉了,引起很多人的抱怨,觉得少了手势解锁的保护,个人信息容易泄漏了... 那么手势解锁功能是怎么是实现的呢,这里使用Quart2D来简单模拟一下, 先看下 ...

  7. Java中常用的查找算法——顺序查找和二分查找

    Java中常用的查找算法——顺序查找和二分查找 神话丿小王子的博客 一.顺序查找: a) 原理:顺序查找就是按顺序从头到尾依次往下查找,找到数据,则提前结束查找,找不到便一直查找下去,直到数据最后一位 ...

  8. 【读书笔记】iOS网络-理解错误源

    考虑一个字节是如何从设备发往运程服务器以及如何从远程服务器将这个字节接收到设备,这个过程只需要几百毫秒时间,不过确要求网络设备都能正常工作才行.设备网络和网络互联的复杂性导致了分层网络的产生.分层网络 ...

  9. iOS中数据传值的几种方式

    值传递:基本数据类型的变量之间的数据传递 //值传递不会改变变量的值 void func(int a) { a = ; } int main(int argc, const char * argv[] ...

  10. Android开发框架--AndroidAnnotations(一)

    annotation:注解 什么是框架 框架是基石 android开发中哪些内容可以做成框架呢 网络模块 图片缓存模块 数据库模块 UI基础模块 开发框架给我们带来了哪些好处 提升开发效率 代码简洁 ...