vIDC2.0 端口映射工具,最近在公司闲来无事,想自己整个tfs来管理自己的研究代码. 本来是想用微软Visual Studio提供的免费tfs,但是无奈速度太慢.他们的服务器在美国,中国也没有代理.签入签出一个东西要老命了 .那怎么办呢. 后来想想自己家里有台牛B的机器,我为什么不自己搭一个呢.

  但是没有外网IP.然后就有了后面研究端口转发的东西.得益于几年前的对黑客知识狂热痴迷.想当年买各种黑客X档案,一起黑别人服务器的日子很有意思 :-) 不过那些都是往事了.现在不干那些了.

有两个方案:

  1. LCX 这个工具以前一般用来解决远程3389端口开了但是被防火墙给挡了的情况,也可以用来做端口转发.但是这个东西不太稳定,老是挂.不靠谱
  2. vIDC 这个工具我以前是用来给内鸡上线的,现在出2.0了,更加稳定,相关的靠谱.我测试三天左右一次都没有挂过.而且转300多MB的代码也没有出现用微软tfs的那种蛋疼事情. 推荐

  怎么想到这两个小东西的呢,以前在抓肉鸡的时候,肉鸡是抓着了,但怎么让他们上线呢.由于大部分时候我们的机器上并没有外网ip或者没有路由控制权限,我们处于内网的环境下.比如在网吧的时候. 于是我就需要一个有外网IP的机器来充当我的服务器,"借用"一个端口给我.让我的小肉鸡们上线.这个就叫作端口映射.关系图大概是这样:

[肉鸡]------------>[外网服务器]<-------------[我的机器]

    8010   8010/8000   8000     
[肉鸡]------------>[外网服务器]------------->[我的机器]

8010端口熟悉吧,上兴的默认端口.当年的牛B远程控制软件.还有PCShare我还是比较喜欢这个. :-)

这个图的意思就是肉鸡访问外网服务器的8010端口,然后服务器将8010端口的通讯转发到我本地的8000端口,这样我只用监听本地8000端口就好了.

  上面说的是远控内网上线的版本.这个和我搭建tfs服务器也是一个道理.这样我平时使用tfs服务的这个角色就相关于上面的[肉鸡].我的tfs服务器就相当于上面的[我的机器].

  下面这个是在网上找的一个vDIC的介绍文章,他写得比较粗放,我给修了修. 附上Word版

程序介绍

vIDC2.0是一个端口映射工具,本程序包含vIDC服务和客户端两部分功能,既可以作为vIDC服务又可作为vIDC客户端工具。较vIDC2.0以前的版本而言新版的vIDC20增加支持UDP服务的映射,采用线程缓冲/复用以及通讯管道缓冲和复用占用cpu资源少,转发速度更快稳定性更好。主要包含如下功能:

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

2、 本地端口映射,类似porttunnel功能,即将本地网络的任何应用服务端口映射到本程序运行的机器上,应用服务客户端可通过映射端口访问应用服务,主要用在将内网服务端口,映射到网关上以便其他用户可以访问,当然前提是vIDC20必须运行在网关机器上。

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

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个空格分割!!!!

命令介绍

此介绍中分为三部分来讲,这些命令的运行环境是指的在Telnet连接到远程vIDC端后来执行的.

本地映射

mtcpl –本地TCP端口映射

映射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。

你可以指定多个相同服务的<应用服务地址:应用服务端口>,各个地址端口之间以,号分割。例如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命令都支持指定多个<应用服务地址:应用服务端口>,用法同此命令

utcpl –取消本地TCP服务映射

即取消由mtcpl映射的应用服务。参数为应用服务映射成功后的映射端口

用法: utcpl <映射端口>

mudpl–本地UDP服务映射

映射UDP应用服务到本地

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

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

uudpl –取消本地UDP服务映射

即取消由mudpl映射的应用服务。参数为应用服务映射成功后的映射端口

用法: uudpl <映射端口>

远程映射

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

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

[<应用服务说明>]<映射端口>如果指定为<=0,则端口随机分配.

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

例如: mtcpr 192.168.0.12:80 0 211.100.1.10 8080 null test测试

utcpr - 取消TCP映射

用法: utcpr <映射端口>

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

用法: mudpr  <应用服务地址:应用服务端口> <映射端口>

[<应用服务说明>]<映射端口>如果指定为<=0,则端口随机分配.

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

uudpr - 取消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查看.

例如:你可通过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_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 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测试

vIDC v2.0 强大的端口转发神器使用总结-开放内网tfs代码服务的更多相关文章

  1. 医院内外网之间通过网闸交互,通过端口转发加nginx代理实现内网访问外网

    首先介绍下主要需求,很简单,就是要在医院his系统内嵌公司的平台,实现内网直接访问外网 这是院方给我提供的网闸相关配置,105是医院内网的服务器,120是外网的服务器,中间通过网闸配置的几个端口实现互 ...

  2. JSP版LCX:端口转发神器 KPortTran

    最近接触内网很多,渗透过程中,由于windows和linux的差别以及运行语言环境的限制导致端口转发经常出现问题.于是自己写了个简单的JSP的端口转发脚本.仿造LCX的功能,具有正向.反向.监听三种模 ...

  3. solr集群Server refused connection at: http://127.0.0.1:6060/solr/ego 注册zookeepr自动使用内网ip

    引导:适用于各种注册服务,zookeeper和被注册的服务器不在同一ip上,产生的注册了127.0.0.1本地ip地址 在使用solr集群操作的时候,报了如下的错误 org.apache.solr.c ...

  4. 端口转发工具lcx使用两类

    lcx是一款强大的内网端口转发工具,用于将内网主机开放的内部端口映射到外网主机(有公网IP)任意端口.它是一款命令行工具,当然也可以在有权限的webshell下执行,正因如此lcx常被认为是一款黑客入 ...

  5. 端口转发工具--lcx

    简介 lcx是一款强大的内网端口转发工具,用于将内网主机开放的内部端口映射到外网主机(有公网IP)任意端口.它是一款命令行工具,当然也可以在有权限的webshell下执行,正因如此lcx常被认为是一款 ...

  6. SSH的端口转发:本地转发Local Forward和远程转发Remote Forward

    关于使用ssh portforwarding来进行FQ的操作,网络上已经有很多很好的文章,我在这里只是画两个图解释一下. 首先要记住一件事情就是: SSH 端口转发自然需要 SSH 连接,而 SSH ...

  7. SSH的端口转发

    这里是一篇很好的介绍SSH PortForwarding的文章http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/ 可以将远端服务器一 ...

  8. [转载]详解ssh端口转发(二)

    关于使用ssh portforwarding来进行FQ的操作,网络上已经有很多很好的文章,我在这里只是画两个图解释一下. 首先要记住一件事情就是: SSH 端口转发自然需要 SSH 连接,而 SSH ...

  9. ssh命令:隧道代理+本地端口转发+远程端口转发

        0.前言 nc是一个在网络连接两端的好工具,同时也是也个临时的端口转发的好工具.(永久的端口转发用什么?用iptables) ssh也是这方面的好工具,好处是加密可靠可复用在一端操作即可,代价 ...

随机推荐

  1. CLR via C#深解笔记七 - 自动内存管理(垃圾回收)

    每个应用程序都要使用这样或者那样的资源,比如文件.内存缓冲区.屏幕空间.网络连接.数据库资源等.事实上,在面向对象的环境中,每个类型都代表可供程序使用的一种资源. 要使用这些资源,必须为代表资源的类型 ...

  2. Ubuntu 中搭建 LAMP 及 php 开发工具

    所谓 LAMP,指的是:Linux+Apache+Mysql+Php 仅以此文做一个备忘录 Step1. 安装 Apache 1. 在 terminal 中输入一下命令并执行: sudo apt-ge ...

  3. web通过ActiveX打印

    最近做了一个activex控件,可以通过html页面动态设置报表文件的数据,控件里的报表是通过FastReport实现了,可以通过FastReport先把报表设置好.欢迎大家提意见 控件及Demo下载

  4. WCF学习日记

    图书馆借阅了<WCF高级编程>,从6.11开始学习wcf,希望尽快熟悉原理和编程模型以及常用编程方法.     WCF是一个平台,也是一个框架,从Net.3.0 就在Net framewo ...

  5. 我所研究过的 ASP.NET MVC 或者 .NET 或者 ORM 或者框架的开源项目

    ASP.NET MVC 的开源项目有很多,这里列出我所研究过的: SocialGoal v1.0.0 prodinner nopCommerce SmartStore.NET 由于今天才做收集工作,可 ...

  6. SharePoint 2013中的爬网最佳做法

    了解在 SharePoint Server 2013 中爬网的最佳做法 搜索系统对内容进行爬网,以构建一个用户可以对其运行搜索查询的搜索索引.本文包含有关如何最有效地管理爬网的建议. 本文内容: 使用 ...

  7. Hadoop入门进阶课程9--Mahout介绍、安装与应用案例

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  8. 『创意欣赏』20款精致的 iOS7 APP 图标设计

    这篇文章给大家分享20款精致的 iOS7 移动应用程序图标,遵循图形设计的现代潮流,所有图标都非常了不起,给人惊喜.通过学习这些移动应用程序图标,设计人员可以提高他们的创作,使移动用户界面看起来更有趣 ...

  9. 在eclipse中配置python插件

    最好离线下载python的离线包.名字叫——org.python.pydev.feature-1.6.3.2010100513 此包里面有两个文件夹 features 和 plugins,分别把2包中 ...

  10. 非聚集索引中的临界点(Tipping Point)

    什么是临界点? 注意,我要说的问题是非聚集索引的执行计划从Seek+Lookup变成Table/Clustered Index Scan的临界点.SQL Server的访问数据的IO最小单元是页. 我 ...