DuplexPipe二三事(四)——网络连接方式随心换

连接方式

在《DuplexPipe二三事(一)》中提到建立连接有两种方式:监听本地端口,等待其他程序来连接(以下简称“监听方式”);或者主动连接其他程序(以下简称“连接方式”)。排列组合一下,会得到三种结果:监听-连接、监听-监听、连接-连接。其中只有“监听-连接”方式能正确地建立连接,《DuplexPipe二三事(三)》中介绍的 FPipe 只是在其中添加了一节“监听-连接-监听-连接”,其中粗体部分就是 FPipe 的工作。

那有没有办法让“监听-监听”、“连接-连接”这两种方式也能通信呢?或者说,有没有办法在不修改程序的前提下转换它的连接方式?这就是 DuplexPipe 提供的功能!

DuplexPipe简介

DuplexPipe 和 FPipe 类似,也是命令行下的转发工具,但它允许你自己选择连接方式,因此比 FPipe 更加灵活!DuplexPipe 目前还只有 Java 实现方式,开放源代码,目前还不支持 UDP 模式。欢迎有兴趣的同学一起参与开发和维护!项目主页:http://code.google.com/p/duplexpipe。下面来介绍一下它的选项和用法:

用法: java -jar DuplexPipe [-vh] model model
选项:
        -v              输出一些提示信息
        -h              显示本帮助文档
模式:
        -l port         监听本地端口
        -c host port    连接远程端口
示例:
        java pipe.DuplexPipe -c 192.168.1.100 3389 -l 1234
        将本地 1234 号端口上的信息转发给 192.168.1.100 的 3389 端口,这样的用法类似 FPipe。

由上述可知,执行“java -jar DuplexPipe -c host1 port1 -c host2 port2”就能让“监听-监听”方式的两个程序通信;执行“java -jar DuplexPipe -l port1 -l port2”可以让“连接-连接”方式的两个程序交流。

总结

从功能上来说,DuplexPipe 和 FPipe 有部分重合,不过这并不是 DuplexPipe 的亮点。思索一下你会发现它能做很多事情!你不想知道我是如何用它将“Windows 远程桌面”改造成反弹式连接的吗?你不想看看怎么让这些小工具配合来创造一个后门?请看《DuplexPipe二三事(五)》。


版权声明

请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“redraiment”和主站点地址,方便其他朋友提问和指正。

联系方式

我的邮箱,欢迎来信(redraiment@gmail.com)
我的Blogger(子清行):http://redraiment.blogspot.com/
我的Google Sites(子清行):https://sites.google.com/site/redraiment
我的CSDN博客(梦婷轩):http://blog.csdn.net/redraiment
我的百度空间(梦婷轩):http://hi.baidu.com/redraiment

时间: 2024-10-29 01:46:01

DuplexPipe二三事(四)——网络连接方式随心换的相关文章

DuplexPipe二三事(三)——网络中转站:端口映射

端口映射 在<DuplexPipe二三事(二)>中介绍了瑞士军刀 nc 的用法:nc 就像给程序一张飞机票,让原本只能在本地执行的程序也能运行在网络上!但网络和现实交通一样,很多地方需要中转才能到达(比如外网计算机无法直接访问公司内部 Web 服务器). 为实现公网对内部网络的访问,需要对数据进行转发(即端口映射).比如内网"主机A"开启了 Web(port 80)服务,需要在"服务器的网关"上设置:凡来自 Internet 上对 80 端口的请求,全部

DuplexPipe二三事(五)——来自内网的呼唤

穿越防火墙 你是否曾经尝试过去连接一台远程计算机,却因为被防火墙拦截或路由器没有转发而造成无法通信?这是主动式连接的一个弊端:它依赖服务器的状态,而对服务器有生杀大权的只有管理员.如果能让服务器主动尝试连接我们的计算机,那就没问题了!因为防火墙.路由等一般不会过滤向外的连接(反弹式木马就是利用这一原理). 但以往的服务端程序都是采用监听本地端口的方式(比如 Windows 远程桌面程序监听本地 3389 端口),我们需要将它的连接方式改成主动连接外部网络的方式.我想你也一定要将想到(如果你看过<

DuplexPipe二三事(二)——瑞士军刀再显锋芒:让程序相互聊天

瑞士军刀NC nc(NetCat)是我很喜欢的一个小工具.在我常用的网络小工具中使用频率仅次于 cURL .nc 属于传输层的工具(TCP/IP 四层模型请看这里),它能保证准确无误地发送和接收数据,但并不关心数据的具体含义(这些工作交给应用层的软件).难怪说 nc 是网络的瑞士军刀,因为所有应用层的软件都是通过各自的网络协议来解析来自传输层的数据.所以,只要你了解应用层协议(比如HTTP.POP3等),就可以手工模拟出任何服务端或客户端程序.而且,只要你愿意,以后设计网络程序完全可以只实现一个

DuplexPipe二三事(六)——没有第七

我的设想 在着手编写 DuplexPipe 之前,我规划过我的需求:我想要一个最通用的通信工具,换言之就是能让所有具有输入/输出的程序都可以相互通信.DuplexPipe 本身远没达到这个设想,至少还得具备以下几中模式: -f file # 通过读写文件获得数据 -s # 从 stdio 中获得数据 -e exefile # 从本地程序的输入输出中获得数据 -r url # 这是一个附加功能.如果你玩过几天木马,你可能也渴望将它变成一个强大的后门!通过这个选项可以从URL中获得IP地址和端口,主

DuplexPipe二三事(一)——有趣的起因:算24

写 DuplexPipe 是因为"无聊"!真的,那天很无聊,想起小时候用扑克牌和姐姐比赛算24,就随手写了一个 Shell 脚本重温一下: #!/bin/sh for ((i=0;i<4;i++)) do ((n=$RANDOM%10+1)) echo -n "$n " done echo i=0 while read exp do ((i++)) ((value=$exp)) if [[ $value -ne 24 ]] then echo -n "

Android编程获取网络连接方式及判断手机卡所属运营商的方法_Android

本文实例讲述了Android编程获取网络连接方式及判断手机卡所属运营商的方法.分享给大家供大家参考,具体如下: 问题:项目中写的网络模块,感觉有点乱:两套代码 --模拟器.真机,维护起来十分麻烦. 解决办法:代码自动去检查到那种网络环境,然后调用不同的联网方式. 查看了模拟器上默认的接入点:移动网络 -- APN = "internet" 1.通过获取apn的名称,来判断网络 // 获取Mobile网络下的cmwap.cmnet private int getCurrentApnInU

VMware的三种网络连接方式区别_VMware

关于VMware的三种网络连接方式,NAT,Bridged,Host-Only ,在刚接触的时候通常会遇到主机Ping不通虚拟机而虚拟机能Ping得通主机:主机与虚拟机互不相通等等网络问题.本文就这三种连接方式作一一说明,也方便以后翻阅当参考用. 首先,要注意安装完VMware后,控制面板\网络和 Internet\网络连接会多出两块虚拟网卡VMnet1.VMnet2,两个网卡各有用途. 基本拓扑 虚拟机(Linux) IP信息 测试结果: 物理主机 Ping 虚拟机 虚拟机1Ping物理主机

VMware运行Ubuntu 三种网络连接方式:bridge、NAT、Host-Only的区别详解

概述: VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式. 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器. 在桥接模式下,你需要手工为虚拟系统配置IP地址.子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信.同时,由于这个虚拟系统是局域网

详解虚拟机中的NAT网络连接方式

  我就个人对虚拟机的理解,把虚拟机上网最方便的也是最难理解的NAT方式和大家一起聊聊,因为是大话NAT,所以说的会罗嗦点,不过主要是照顾新人.:) 老鸟就赶快飞吧 呵呵 先说一点别的,做为引子 假设现在R老师带3个班的学生,分别为a班. b班. c班 .现在就出现了两个交流方式: 第1种交流方式: 本班内交流,比如说a班的一个同学想和另一个同学交流,就可以直接在班里喊那个同学的名字.这个就向计算机内的同一个网段的计算机的交流方式-广播. 第2种交流方式: 班与班之间的学生交流,这个时候在a班里