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.本机转发的数据是内存复制还是走网卡?

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

  • 相关阅读:
    关于ASPack 2.12加壳软件的脱壳方法[图文]
    OllyDbg快捷键记录帖
    C console编程
    用着VC++ Debug 理解汇编与C语言的对应关系
    赵青-《剑侠情缘网络版》开发回顾
    VC++ 预定义常量
    oracle分区自动创建
    清理oracle lobsegment
    libXext.so.6: cannot open shared object file: No such file or directory
    Oracle 杀死锁进程
  • 原文地址:https://www.cnblogs.com/xxxteam/p/3625255.html
Copyright © 2011-2022 走看看