vIDC (端口映射工具)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 资源少,转发速度更快稳定性更好。
程序运行: vIDC20是一个控制台应用程序,它可以作为系统服务运行。
支持的命令行参数如下://-i [serverName] [服务描述] --- 安装vIDC20作为一个系统服务,用户可以指定服务名称和描述。
//-u ---卸载服务。
//-s --- 启动服务//-e --- 停止服务//-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 <应用服务地址:应用服务端口> <映射端口> [<应用服务说明>] <映射端口>如果指定为<=0,则端口随机分配. 例如: mtcpl 192.168.0.12:80 0 映射web服务你可以指定多个相同服务的<应用服务地址:应用服务端口>,各个地址端口之间以,号分割。
例如mtcpl 192.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 <应用服务地址:应用服务端口> <映射端口> [<应用服务说明>] <映射端口>如果指定为<=0,则端口随机分配. 如果vIDCs没有访问密码,则处填null 例如: mtcpr 192.168.0.12:80 0 211.100.1.10 8080 null test测试mudpr - 映射UDP应用服务到指定的vIDCs用法: mudpr <应用服务地址:应用服务端口> <映射端口> [<应用服务说明>] <映射端口>如果指定为<=0,则端口随机分配. 如果vIDCs没有访问密码,则处填nullutcpr - 取消用户在指定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=truedconn - 强制断开某个vIDCc客户端和本vIDCs服务的连接用法: dconn vidccID - vIDCc客户端在本vIDCs上的ID标识,可通过status vidcs 查看. 例如:你可通过status vidcs查看本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_HTTPS|PROXY_SOCKS4|PROXY_SOCKS5. cas=<二级代理> - 设置二级代理,二级代理信息格式如下: - cas=null 或者cas=,,,[,]status - 显示本程序的状态信息用法: status vidcs - 显示vIDCs服务的信息以及连接到vIDCs上的所有vIDCc 的信息.vidcc - 显示本程序作为vIDCc客户端连接的vIDCs的信息和映射信息.proxy - 显示本代理服务的信息.mport - 显示本地端口映射信息.all - 显示所有信息.sets - 设置本程序的运行参数用法: sets log=[filename] - 设置记录程序日志的文件名=null,则不记录日志. loglevel=[LEVEL] - 设置输出日志的级别[DEBUG WARN INFO ERROR].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 0 test测试mtcpr 192.168.0.12:80 0 211.100.1.10 8080 null test测试。