vIDC2.0 端口映射工具

vIDC2.0 端口映射工具

 

程序介绍:

    vIDC2.0是一个端口映射工具,主要包含如下功能:

1、代理服务功能,支持http/socks4/socks5代理,支持代理验证,支持udp代理,支持二级代理

2、本地端口映射,类似porttunnel功能,即将本地网络的任何应用服务端口映射到本程序运行的机器上,

    应用服务客户端可通过映射端口访问应用服务,主要用在将内网服务端口,映射到网关上以便其他用户可以访问,当然前提是vIDC20必须运行在网关机器上。

3、端口映射vIDC功能,本程序包含vIDC服务和客户端两部分功能,既可以作为vIDC服务又可作为vIDC客户端工具。

    在上面讲的映射内网应用服务到网关上,以便其他用户可以访问你的内网应用服务的前提是你的vIDC20必须运行在

    网关的机器上,假如你无法在网关上运行vIDC20那么你如何让其他人访问你的内网服务呢?你可以通过vIDC20将本地的任何应用服务映射到任意一个vIDCs服务器上(即另外一个vIDC20所运行的机器),这样假如用户无法访问你网络里的某个应用服务,但他可以访问另外一个你能控制的机器,那么你就可以在他可以访问的机器上运行vIDC20,启动vIDCs服务。然后在你的应用服务所在的网络中再运行一个vIDC20,通过此工具将你的应用服务映射到vIDCs上,这样用户就可以访问内网应用服务了。

    较vIDC2.0以前的版本而言新版的vIDC20增加支持UDP服务的映射,采用线程缓冲/复用以及通讯管道缓冲和复用占用cpu资源少,转发速度更快稳定性更好。

4、SSL加密解密功能,用户映射端口时可以指定+ssl或-ssl,将普通应用服务转化为SSL加密的应用服务,或将SSL加密的应用服务转化为无需SSL加密验证的服务。

 

程序运行:

    vIDC20是一个控制台应用程序,它可以作为系统服务运行。支持的命令行参数如下:

//-i [serverName] [服务描述] ---安装vIDC20作为一个系统服务,用户可以指定服务名称和描述。

//-u ---卸载服务。

//-s --- 启动服务

//-e --- 停止服务

//-d --- 控制台方式,-d0 ~-d4指定不同的debug调试信息级别,关闭控制台窗口将结束程序运行。

    如果仅仅指定-d则以无控制台方式运行,关闭窗口程序不会结束.

//-f filename读取指定的配置文件,仅指定了-d运行参数时才有效

//-p svrport指定服务的运行端口,如果端口等于0则不启动服务端口。仅指定了-d运行参数时才有效

 

vIDC20默认的服务端口是8080。

vIDC20支持参数配置文件,用户可以以-f参数指定配置文件名称,如果不指定程序默认读取和程序同名但扩展名为ini的参数配置文件.比如程序名为vIDC20.exe,则默认读取的配置文件为vIDC20.ini

 

vIDC支持用户远程配置管理,用户可以通过telnet连接vIDC的服务端口,连接上服务后用户必须先输入一个‘v‘,如果无需认证则直接出现欢迎提示,否则将用求用户输入用户名和密码,验证成功后出现欢迎提示信息vIDC20>.这时用户可以输入配置管理命令,配置文件也是由vIDC20支持的配置命令组成,每一行是一跳配置命令,vIDC20支持的配置命令如下:

 

注意:下面的命令解释中 <>代表用户输入内容,[]代表此项可输可不输|代表可输入其中一项

    每一条命令的各个参数项之间以1个空格分割!!!!

    mtcpl - 本地端口映射,映射TCP应用服务到本程序运行所在机器

   用法:mtcpl <应用服务地址:应用服务端口><映射端口[+ssl|-ssl]>[<应用服务说明>]

        <映射端口>如果指定为<=0,则端口随机分配.

    例如: mtcpl 192.168.0.12:80 0 映射web服务

    映射端口后可跟+ssl或-ssl关键字,如果指定+ssl,意味着将某个非SSL加密的应用服务转换为SSL加密的服务。

    例如你有一个普通的web服务,假如你映射此服务时指定了+ssl那么用户通过映射端口访问应用服务时必须通过https://映射ip:映射端口。不能用普通的http://访问。

    如果映射时指定了-ssl,则将某个SSL的应用服务映射后转化为普通的应用服务。

    你如你有一个需要SSL访问的应用服务,但某个用户的客户端不支持SSL,则你可以通过-ssl将此服务映射出来,用户就用普通的方式访问应用服务而无需SSL。

    你可以指定多个相同服务的<应用服务地址:应用服务端口>,各个地址端口之间以,号分割。例如mtcpl192.168.0.12:80,192.168.0.13:80,192.168.0.14:80 0映射test服务

    vIDC2.0支持传输控制层上的集群服务的负载均衡,如果指定多个应用服务地址:端口,则用户访问映射端口时,vIDC20会自动在你指定的多个服务地址端口间均衡分配用户

    达到达到集群服务的负载均衡的目的。当然此负载均衡是建立在传输控制层(TCP/UDP)上的,没有对服务的应用层做任何解析,因此,如果用户映射的服务是具有会话性质的服务

    用此功能将导致会话可能失效,例如使用了session的web应用服务。

    同样mudpl,mtcpr,mudpr命令都支持指定多个<应用服务地址:应用服务端口>,用法同此命令

  mudpl -本地端口映射,映射UDP应用服务到本地

   用法:mudpl <应用服务地址:应用服务端口><映射端口>[<应用服务说明>]

       <映射端口>如果指定为<=0,则端口随机分配.

  utcpl -取消某个TCP应用服务在本地映射,即取消由mtcpl映射的应用服务。参数为应用服务映射成功后的映射端口

   用法:utcpl <映射端口>

  uudpl -取消UDP应用服务的本地映射,即取消由mudpl映射的应用服务。参数为应用服务映射成功后的映射端口

   用法:uudpl <映射端口>

  mtcpr -映射TCP应用服务到指定的vIDCs

   用法:mtcpr <应用服务地址:应用服务端口><映射端口[+ssl|-ssl]>[<应用服务说明>]

       <映射端口>如果指定为<=0,则端口随机分配.

       如果vIDCs没有访问密码,则处填null

例如: mtcpr 192.168.0.12:80 0211.100.1.10 8080 null test测试

  mudpr -映射UDP应用服务到指定的vIDCs

   用法:mudpr <应用服务地址:应用服务端口><映射端口>[<应用服务说明>]

   <映射端口>如果指定为<=0,则端口随机分配.

   如果vIDCs没有访问密码,则处填null

  utcpr -取消用户在指定vIDCs上的TCP应用服务的映射

   用法:utcpr <映射端口>

  uudpr -取消用户在指定vIDCs上的UDP应用服务的映射

   用法:uudpr <映射端口>

  vidcs -本vIDCs服务的参数设置

   用法:vidcs <[pwd=<密码>][enable=]>

       pwd=<密码>       - 设置vIDCc连接vIDCs的密码,设置为null,则不要密码验证.例如:vidcs pwd=null

    enable=  -是否允许vIDCs服务.设为假,则本程序将不关闭 vIDCs服务功能。

    例如: vidcs pwd=null enable=true

  dconn -强制断开某个vIDCc客户端和本vIDCs服务的连接

   用法:dconn

       vidccID  -vIDCc客户端在本vIDCs上的ID标识,可通过status vidcs查看.

    例如:你可通过statusvidcs查看本vIDCs服务的状态以及各个vIDCc的映射信息,显示类似下面,其中()中内容就是vidccID。

     - [vidcs]- port=8080,auth=false enabled=true

        - [vidcs] - total 1 vidcc connected -

     ---vidcc(80B595)-- - 2005-03-23 12:01:30 xxxx vidc测试客户  -

     - -- tcp-- - 1432 192.168.0.12:80 test测试

        - [vidcs] - ------------------------------ -

  proxy -代理服务的参数设置

   用法:proxy <[pwd=<帐号>][enable=] [type=<支持的代理类型>][cas=<二级代理信息>>

      pwd=<用户名:密码> -设置代理服务的用户名/密码,设置为null,则不要密码验证.

    enable= - 是否允许代理服务.

       type=<代理类型>  - 设置代理服务支持的类型PROXY_HTTP|PROXY_SOCKS4|PROXY_SOCKS5.

       cas=<二级代理>   -设置二级代理,二级代理信息格式如下:

                        - cas=null 或者 cas=,,,[,]

!!!除非用户显示的通过proxy命令设置了代理信息,否则默认代理服务是启动的,并且支持所有的代理协议且无需密码控制,无二级代理

 

  status -显示本程序的状态信息

   用法:status

       vidcs   - 显示vIDCs服务的信息以及连接到vIDCs上的所有vIDCc的信息.

       vidcc   - 显示本程序作为vIDCc客户端连接的vIDCs的信息和映射信息.

       proxy   - 显示本代理服务的信息.

       mport   - 显示本地端口映射信息.

       all     - 显示所有信息.

  sets -设置本程序的运行参数

   用法:sets

   log=[filename]   -设置记录程序日志的文件名=null,则不记录日志.

   loglevel=[LEVEL] - 设置输出日志的级别[DEBUG WARN INFOERROR].DEBUG为最低级别,将记录所有的日志输出,ERROR为最高级别,仅仅记录错误状态的日志。

   port=[端口]     - 设置服务的运行端口,运行时设置无效

               如果设置为0则不启动侦听端口,则vIDCs以及代理服务不可用,并且无法启用telnet进行远程配置管理.

   pwd=[用户名:密码]- 设置telnet远程配置管理的帐号.

                      设置为空null则不需要密码验证.

    例如: sets log=log.txt loglevel=WARN pwd=aa:bb

    

程序运行的配置文件可由上述命令组成,每个命令一行。如果行开头为!,说明此行为注释,不作解释。

假如用户想在程序启动后自动映射服务端口到本地以及vIDCs上,则可以写一个如下内容的配置文件:

!vIDC20程序配置文件

mtcpl 192.168.0.12:80 0test测试

mtcpr 192.168.0.12:80 0 211.100.1.108080 null test测试


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值