zoukankan      html  css  js  c++  java
  • windows tcp端口映射或端口转发

    windows tcp端口映射或端口转发

    windows内部有一个叫netsh的玩意,可以把tcp端口进行映射或转发,可惜不支持udp。
    举个例子:
    一台windows有一个80端口,对外可以访问。
    另有一个99端口,不能对外访问,只能本机访问。

    现在就用这个功能,把80端口映射到99端口,来实现外部访问本机80端口,实际上是访问了本机的99端口。过程:(下面的端口都指tcp端口)

    1.打开cmd

    2.安装:
    非XP只需要 netsh interface ipv4 install
    XP除了需要跑这条外,还另需要跑 netsh interface ipv6 install

    3.重启windows

    4.打开cmd

    5.保证此时80端口没有被占用。

    6.添加映射/转发
    假设windows的公网IP为1.1.1.1,局域网IP为2.2.2.2,则:
    netsh interface portproxy add v4tov4 listenaddress=1.1.1.1 listenport=80 connectaddress=2.2.2.2 connectport=99
    注意:1.IP必须是公网IP或局域网IP,不能是127.0.0.1。
    2.设置后,svchost.exe应该会占用80端口。

    7.删除映射/转发
    netsh interface portproxy delete v4tov4 listenaddress=1.1.1.1 listenport=80

    8.查看所有映射/转发
    netsh interface portproxy show all

    9.上述例子只是ipv4的例子。ipv6的话,只需要把命令中的ipv4换成ipv6即可。

    后记:上述只是讲了如何设置,但实际应用中,还存在一些问题,比如:

    1.性能如何?

    2.本机转发的数据是内存复制还是走网卡?

    等等,这里就麻烦大家自己去测试了。

  • 相关阅读:
    一个简单的NodeJs静态页面的web服务器
    javascript的use strict(使用严格模式)
    javascript声明对象时 带var和不带var的区别
    javascript对象的属性,方法,prototype作用范围分析.
    linux下两台服务器文件实时同步方案设计和实现
    Memcache mutex设计模式
    php内存管理
    php-fpm 和 mysql 之间的关系
    innoDB 下主键的思考
    哈希表的实现
  • 原文地址:https://www.cnblogs.com/xxxteam/p/3625255.html
Copyright © 2011-2022 走看看