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

2023-11-16

穿越防火墙

你是否曾经尝试过去连接一台远程计算机,却因为被防火墙拦截或路由器没有转发而造成无法通信?这是主动式连接的一个弊端:它依赖服务器的状态,而对服务器有生杀大权的只有管理员。如果能让服务器主动尝试连接我们的计算机,那就没问题了!因为防火墙、路由等一般不会过滤向外的连接(反弹式木马就是利用这一原理)。

但以往的服务端程序都是采用监听本地端口的方式(比如 Windows 远程桌面程序监听本地 3389 端口),我们需要将它的连接方式改成主动连接外部网络的方式。我想你也一定要将想到(如果你看过《DuplexPipe二三事(四)》),用 DuplexPipe 来转换它的连接方式!

反弹式远程桌面

在此以 Windows 远程桌面为例,演示如何用一个正向连接的程序实现反向连接。本次演示的环境:

  1. 主机A(客户端):处于外网,IP 地址为 60.180.*.*。系统环境为 Vista 家庭版,自带远程桌面连接客户端;
  2. 主机B(服务端):处于内网。系统环境为 Win XP SP2,并开启了远程桌面服务。

具体操作步骤如下:

一、将客户端的“连接式”转换为“监听式”。

打开命令提示符,执行:
java -jar DuplexPipe.jar -l 1234 -l 3389

 

二、将服务器端“监听式”转换为“连接式”,并连接客户端监听的 1234 端口。

打开命令提示符,执行:
java -jar DuplexPipe.jar -c 60.180.*.* 1234 -c localhost 3389

 

三、启动客户端上的远程桌面连接程序,连接本地的 3389 (默认)端口,即可连接成功!

连接成功后:

总结

如果你能理解上面的操作,就可以照样画葫芦去连接任何其他程序!我在前面提到过,DuplexPipe 目前还有待完善,那它以后还会添加些什么功能?会不会发展成为一个反弹式木马?请看《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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DuplexPipe二三事(五)——来自内网的呼唤 的相关文章

  • 如何使用Windows批处理命令删除“无扩展名的文件”的所有内容

    我想删除以 FIlE 为扩展名的文件的内容 即没有扩展名 我知道如何删除文本文件的内容 但不知道如何删除以 文件 为扩展名的文件 我会感谢你的努力 提前致谢 Use Del 在批处理文件中删除没有扩展名的文件 use Dir A D 列出所
  • 如何调用 LogonUser() 来获取启用了 UAC 的 Windows 服务中的非限制完整令牌?

    我正在 Windows Server 2012 上运行 WindowsService 它需要模拟域管理员用户 该用户也被添加到计算机上的本地管理员组 系统上启用了 UAC 并且使用 LogonType 为 LOGON32 LOGON INT
  • 使用 Python 将 Excel 中的图表导出为图像

    我一直在尝试将 Excel 中的图表导出为 Python 中的图像文件 JPG 或 ING 我正在查看 WIn32com 这是我到目前为止所拥有的 import win32com client as win32 excel win32 ge
  • 在 Android SDK 中设置 JAVA_HOME

    我和对方有一些冲突JAVA HOME配置 当我使用以下代码时 System out println System getenv JAVA HOME I get C jdk1 6 0 23这是正确的地方 但是 当我在 Android buil
  • 如何在 NERDTree 中显示隐藏文件(以句点开头)?

    我怎样才能使NERDTree https github com scrooloose nerdtree显示以 a 开头的文件 时期 我有一个名为 hgignore在项目目录中 如果我使用 NERDTree 浏览到该目录 该文件不会显示在树中
  • 在 Windows 上将 Mercurial (hg) 存储库转换为 Git (7)

    我现在真的很沮丧 我有一个现有的 hg 存储库 其中有几个月的编码历史 我想将其放入私有 Github 存储库中 以便我可以从那里对其进行处理 不幸的是我使用的是 Windows 我似乎找不到any转换我实际上可以正常工作的存储库的方法 实
  • 在 Windows 2008 上将 myprogram.exe 作为服务运行时出现问题

    MyProgram exe 是用来侦听来自管道的请求并使用命令提示符使其工作完美 但我尝试使用 Windows 服务来工作但没有成功我在 Windows Server 2008 Enterprise 上尝试了以下步骤 gt sc creat
  • R 脚本自动化时的不同结果

    以下命令对 pdf 文件执行 Ghostscript 这pdf file变量包含该 pdf 的路径 bbox lt system paste C gs gs8 64 bin gswin32c exe sDEVICE bbox dNOPAUS
  • Windows Workflow Foundation 4 (WF4) 延迟

    我正在与 Visual Studio 2010 的候选版本一起使用 Wf4 编写一个用于批准资源请求的新工作流程 在我的工作流程中 如果请求未获得批准 我希望请求在几天后过期 我们在 WF 3 5 Visual Studio 2008 中通
  • Windows7上python3.5无法安装BeautifulSoup4

    我已经从下载了 beautifulsoup4 4 5 3 tar gzhttps www crummy com software BeautifulSoup bs4 download 4 5 https www crummy com sof
  • 如何从任何进程关闭 Windows 上的套接字(ipv4 和 ipv6)连接?

    如何在 Windows 上关闭 tcp v4 和 tcp v6 连接 我不想终止具有开放连接的整个进程 因为这显然会将其他人踢出该进程 我需要从一个单独的进程执行此操作 因此无法访问套接字句柄等 我正在使用 Windows API 来获取
  • 代码退出-1073741515 (0xc0000135)“未找到依赖的 dll”

    我正在尝试编写一个简单的程序 与 2019 年相比 Windows 10 64 位 调试 gt x64 遵循 将 Visual C 项目配置为面向 64 位平台 1 include
  • 如何在 C++ 中急于提交分配的内存?

    总体情况 带宽 CPU 使用率和 GPU 使用率都极其密集的应用程序需要每秒从一个 GPU 向另一个 GPU 传输约 10 15GB 的数据 它使用 DX11 API 来访问 GPU 因此上传到 GPU 只能在每次上传都需要映射的缓冲区中进
  • 用于验证 IIS 设置的 Powershell 脚本

    是否可以使用 Power Shell 脚本获取 IIS 设置 我希望使用脚本获取 检查以下信息 检查 Windows 身份验证提供程序是否正确列出 协商 NTLM 检查是否启用了 Windows 身份验证 Windows 身份验证高级设置
  • 移动/调整窗口大小时闪烁

    我开发了一个显示 jpeg 图像的应用程序 它可以显示 4 个图像 屏幕的每个象限各一个 为此 它使用了 4 个窗口 窗口没有边框 框架 也没有标题栏 当加载新图像时 窗口大小会根据新图像进行调整 然后显示该图像 尤其是当窗户做得较大时 经
  • 由于图形处理单元配置,不支持 Windows Phone 模拟器(Mac 上的 Windows 7)

    启动 Windows Phone 模拟器时出现错误 不支持 Windows Phone 模拟器 因为您的计算机没有所需的图形处理单元配置 如果没有图形处理单元 XNA 框架页面将无法运行 您想继续启动模拟器吗 当我尝试访问网页 任何网页 时
  • Git 扩展 - 无法在 Windows 上推送到网络驱动器中的 git bare 存储库

    我正在 Windows 上学习 git 我已经安装了 Git 扩展 版本 2 47 3 并使用了它 我在我的 C 单元中创建了一个裸存储库 作为中央存储库 并在硬盘中的其他任何位置创建了个人存储库 我对硬盘中的这两个存储库进行提交 推送和拉
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用
  • 不在焦点时响应键盘? (C#、Vista)

    我正在尝试编写一个应用程序 只要按下 Shift 键 无论当前哪个应用程序具有焦点 它都会做出响应 我尝试过这个SetWindowsHookEx 与GetKeyboardState 但这两种方法仅在应用程序窗口具有焦点时才有效 我需要它在全

随机推荐

  • Linux学习(未完待续。。。)

    安装好ubuntu 并且注册用户成功后 给root设置密码 sudo passwd root 先输入自己的密码 然后输入root的密码 再确认 密码都是不可见的 不是键盘坏了 显示日期格式 date Y m d H M S m month
  • Hyperledger Fabric学习笔记——7.链码安装、实例化、执行

    1 智能合约 执行环境 以太坊虚拟智能合约执行环境EVM fabric执行环境是docker 链码 是应用层和区块链底层的中间点 每一个链码执行环境是一个独立的docker 使用GRPC协议与背书节点通信 只有背书节点才能运行智能合约 链码
  • 如何配置服务器自动监控并报警

    作者 一个懂技术的运营 链接 https www zhihu com question 21073555 answer 106131463 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 如果是初创型公司 机
  • Vue 的forEach和push

    tagTacticsFilter tacticsTag let data let tacticsTagList this tacticsTagList let attrList tacticsTag split attrList forEa
  • 真正的学懂三极管入门篇(经典)

    不要让温床称为埋葬你的坟墓 要有危机意识 忧患意识 要为明天考虑 禁忌 安于现状 不求上进 不懂得学习 不能恰当的处理工作和学习关系 没有把英语放在第一位
  • uniApp中 nvue和vue开发 小结

    最近接手uniapp开发 对遇到的问题进行总结 什么是nvue nvue native vue 原生渲染 为何要用nvue开发 weex 有个很大的问题是它只是一个高性能的渲染器 没有足够的API能力 比如各种push sdk集成 蓝牙等能
  • 电梯调度算法-C++

    1 算法解析 扫描算法 SCAN 又称电梯调度算法 SCAN算法是磁头前进方向上的最短查找时间优先算法 它排除了磁头在盘面局部位置上的往复移动 SCAN算法在很大程度上消除了SSTF算法的不公平性 但仍有利于对中间磁道的请求 电梯调度算法是
  • 【图解】ThreadLocal底层实现原理

    1 ThreadLocal的底层原理图 说明 Thread中有threadLocals成员变量 threadLocal会在threadlocal首次set时进行赋值 这会在非main线程中复现 主线程启动即会进行赋值 ThreadLocal
  • git使用(由浅到深)

    目录流程图 1 分布式版本控制与集中式版本控制 1 1 集中式版本控制 集中式版本控制系统有 CVS和SVN 它们的主要特点是单一的集中管理的服务器 保存所有文件的修订版本 协同开发人员通过客户端连接到这台服务器 取出最新的文件或者提交更新
  • Java面试题及答案整理(2021最新版)

    Java面试题及答案整理 一 Java 基础 1 JDK 和 JRE 有什么区别 2 和 equals 的区别是什么 3 两个对象的 hashCode 相同 则 equals 也一定为 true 对吗 4 final 在 java 中有什么
  • C语言中C89与C99的区别

    1 增加restrict指针 C99中增加了公适用于指针的restrict类型修饰符 它是初始访问指针所指对象的惟一途径 因此只 有借助restrict指针表达式才能访问对象 restrict指针指针主要用做函数变元 或者指向由malloc
  • QT中json与数据转换

    QT中json与数据转换 一 json简介 二 json文件的写入与解析 1 简单的json对象 2 json数组 3 复杂的json对象 三 QT中配置文件应用json实现 1 需求 2 打开工程 3 保存工程 4 新建工程 一 json
  • java无法从静态上下文_ERROR无法从静态上下文中引用非静态变量

    什么是 static 学习过java C 或C的人都应该认识这个关键字 用这个关键字修饰的变量叫做静态变量 有其特殊的作用 在java中static也用来修饰静态方法和静态内部类 静态变量的特点 1 生存周期 静态局部变量的生存周期也是整个
  • 华为华三思科 配置arp IP地址和mac地址绑定

    华为
  • 微信小程序存在的风险_警惕,你的微信小程序可能面临着风险!

    小程序目前在移动互联网领域的流行 它有火 到6月底的数据告诉你 微信微型节目C端用户达到2 8亿 迷你程序达到100万 累计用户数达到6亿 即时访问 不需要下载 成为用户使用小程序的触发点 但在建立生态的小程序 其独特的安全风险也逐渐显示出
  • 四千个厂商默认账号密码 默认登录凭证

    Product Vendor Username Password Zyxel ssh zyfwp PrOw aN fXp APC UPS web apc apc Weblogic web system manager Weblogic we
  • 基于cubemx的stm32HAL库SPI通信写LCD显示屏

    之前学习了如何使用LCD 记录一下 关于spi部分是从野火的资料中截取 也会加入我自己的备注 便于理解 代码部分在后面 请耐心看完 一 SPI协议简介 SPI 协议是由摩托罗拉公司提出的通讯协议 Serial Peripheral Inte
  • STM32用SYSTICK实现的系统时钟和微秒级延时函数

    代码耗时法延时难以准确 比较过定时器法在10微秒内误差比较大 下面的代码片段使用SysTick实现系统时钟 以及不影响时钟的高精度微秒级延时 想法是SysTick实现每毫秒递增的系统时钟 而在不影响SysTick连续运行前提下 使用当前计数
  • driver org.postgresql.driver claims to not accept jdbcurl, jdbc:h2:mem:test

    driver org postgresql driver claims to not accept jdbcurl jdbc h2 mem test 背景 项目中使用了h2数据库 不想用h2 把配置改为PostgreSQL 出现此异常 原因
  • DuplexPipe二三事(五)——来自内网的呼唤

    穿越防火墙 你是否曾经尝试过去连接一台远程计算机 却因为被防火墙拦截或路由器没有转发而造成无法通信 这是主动式连接的一个弊端 它依赖服务器的状态 而对服务器有生杀大权的只有管理员 如果能让服务器主动尝试连接我们的计算机 那就没问题了 因为防