首页
学习
活动
专区
圈层
工具
发布

在Ruby中通过UPnP打开路由器端口

在Ruby中通过UPnP打开路由器端口,可以使用一些第三方库来实现。其中一个常用的库是upnp。首先,你需要安装upnp库:

代码语言:bash
复制
gem install upnp

然后,你可以使用以下代码来通过UPnP打开路由器端口:

代码语言:ruby
复制
require 'upnp'

upnp = UPnP::SSDP.new
upnp.discover

upnp.each_device do |device|
  if device.friendly_name =~ /InternetGatewayDevice/
    device.services.each do |service|
      if service.service_type =~ /WANIPConnection/
        service.actions.each do |action|
          if action.name == 'AddPortMapping'
            action.arguments.each do |argument|
              if argument.name == 'NewLeaseDuration'
                argument.value = 0
              end
            end
            action.invoke(
              'NewRemoteHost' => '',
              'NewExternalPort' => 8080,
              'NewProtocol' => 'TCP',
              'NewInternalClient' => '192.168.1.2',
              'NewInternalPort' => 8080,
              'NewEnabled' => 1,
              'NewPortMappingDescription' => 'Ruby UPnP Example',
              'NewLeaseDuration' => 0
            )
          end
        end
      end
    end
  end
end

这段代码会搜索路由器上的UPnP服务,并通过AddPortMapping方法将端口映射到内部IP地址。在这个例子中,我们将外部端口8080映射到内部IP地址192.168.1.2的端口8080。

需要注意的是,UPnP服务可能会受到路由器设置的限制,例如需要手动启用或者需要在应用程序中请求用户授权。因此,在实际使用中,你可能需要根据路由器的具体设置进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

网络穿透:TCP 打洞、UDP 打洞与 UPnP

在现代网络中,很多设备都处于 NAT(网络地址转换)或防火墙后面,这使得直接访问这些设备变得困难。在这种情况下,网络穿透技术就显得非常重要。...在 NAT 环境下,UPnP 可以自动打开路由器的端口,从而允许外部设备访问位于内网中的设备。 UPnP 主要用于家庭网络和小型局域网,它通过设备的自动配置来简化网络中的设备通信过程。...3.2 工作原理 设备发现:客户端设备通过发送 SSDP(简单服务发现协议)请求,查找网络中的 UPnP 设备。...获取路由器的设备描述:通过 SSDP 发现的设备提供一个设备描述 XML 文件,描述其功能和端点。 请求端口映射:客户端通过向路由器发送请求,要求映射一个外部端口到内网设备的特定端口。...UPnP:通过自动化的端口映射,使内网设备更易于被外部设备访问。 这三种技术在 P2P 应用中非常重要,特别是在 NAT 或防火墙环境下,它们能够显著提高连接的成功率。

3.3K10

一次对电视盒子的漏洞分析

扫描端口发现49152端口打开,详细扫描发现是Upnp服务 ? 突然想到了今年6月的UPnP协议漏洞CVE-2020-12695,UPnP 2020-04-17之前版本中存在安全漏洞。...在UPnP协议规范中有一个非常重要的功能模块,叫做事件(Eventing)。...在UPnP服务进行的时间内,只要设备用于UPnP服务的变量值发生变化或者模式发生了改变,就会产生一个事件,随之向整个网络进行广播。...对当前网络进行扫描和测试:python3 CallStranger.py 找到了三个Upnp设备:华为路由器、客厅盒子、客厅极光TV ?...在最新更新的UPnP协议规范中,可以看出开发者限制了订阅事件的源IP和目标IP都必须在内网中,这从一定程度上修复了该漏洞。

1.8K40
  • Linux搭建甜糖星愿服务教程,挂机赚钱

    服务的搭建步骤 操作步骤就四步: 1、手机端下载甜糖APP 2、安装Docker 3、Docker里下载ttnode镜像,并创建容器; 4、开启路由器的UPNP服务和设置端口映射;(使用云服务器搭建的可以忽略这一步...我们根据给出的访问地址( http://你的Linux服务器IP:1043 ),打开甜糖运行的详情页,所有的信息一目了然,二维码、端口号,甚至防火墙规则都写好了。真是太贴心了,给作者一个大写的赞。...4.开启路由器的UPNP服务或设置端口映射。 下面的图片是openwrt的设置方式。 开通UPNP服务,让路由器自动实现docker与互联网的访问。...但有时即使开通了该服务,也会出现网络无效的情况,所以就需要做下面的端口转发。 ? 根据之前在日志中得到的端口号,在防火墙中设置好端口转发,这种是最保险的方式。 ?...如果你对网络知识有了解,可以采用更简单的第3种方式,那就是把详情中的防火墙规则,直接复制到防火墙的规则后面,保存即可。 5.手机端打开甜糖APP,点右上角的+号,扫描详情页中的二维码绑定。

    15.8K30

    UPnP端口映射实现过程(一)

    第一步是发现 控制点再往上搜索感兴趣的设备,而设备向网络中宣告其服务。对于自动端口映射来说就是发现带UPnP功能的路由器。这一过程主要分两步。...:rootdevice (搜索目标) 第二步,网络中存在UPnP设备的话,为了被找到,设备必须向发送查找的多播通道的源IP和端口发送响应消息,所以你可以从239.255.255.250.../1.0 ST: upnp:rootdevice USN:uuid:upnp-InternetGatewayDevice-192168141678900001::upnp:rootdevice 第二步是描述...通过URL,下载XML文件,并从中找到有关设备的类型,服务类型,控制URL,时间触发URL等。同样分两步,首先下载描述文件。第二步解析该XML文件 第三步是控制。...通过第二步获得的控制URL,通过向其中发送控制消息来实现某些功能,对于自动端口映射来说是查看,增加,删除等 · 增加端口映射。"

    2.7K20

    UPnP曝Filet-O-Firewall漏洞,数百万家庭路由器处于攻击风险之中

    这份报告中陈述道: 实现UPnP协议的家庭路由器没有对UPnP控制URL中的UUID进行足够的随机化处理,或者未实现其他UPnP安全措施。...如果攻击者猜出了该URL,那么他们将能够利用UPnP修改家庭路由器的配置,例如开放端口,开启允许攻击者进一步访问网络的服务。考虑到很多制造商采用的标准UPnP控制URL名字,那么猜中它是有可能的。...影响范围 如果成功利用了Filet-o-Firewall漏洞,那么攻击者将能够打开防火墙端口,并向家用路由器发送管理命令。...研究员Grant Harrelson解释说,在不到20秒内就能发起这种攻击,并且任何运行了UPnP服务的家庭路由器都处于这种攻击风险之中。...Harrelson在一篇博文中陈述道: 通过利用Filet-O-Firewall漏洞,攻击者能够将防火墙内的任何设备直接暴露在互联网上。

    1.3K100

    网络知识:路由器不关闭这个功能,视频越刷越卡!

    大家是否发现,长时间在刷视频,网速好似会越来越慢呢?经常需要加载一下才能正常播放。或许我们知道这可能是路由器发热,才出现了小问题,当然这可能是一部分因素,但其他影响因素你知道吗?...不知道大家是否知道,当你在视频平台刷视频的时候,它会偷偷地开启大量的UPnP端口,主要是缓存你已经看过的视频。这时,或许你会问,它这样做的目的是什么呢?...小编不得不提醒一句:千万别以为人人都会为你好~ 视频平台这样的做法,其实就是把你的路由器当成了它的临时服务器。当后面有人刷到你看过的视频,直接就从你这分发出去了。那么你有什么损伤了呢?...那么今天小编就跟大家分享一个方法:如何在手机上关闭这个端口,不再成为临时服务器~ 第一步:用手机连接自家的WIFI; 第二步:打开手机设置,找到无线网WLAN点击进入; 第三步:此时你会看到【IP设置...】,点击将其修改为【静态】,接着你会看到路由器选项后的数字,将其复制; 第四步:打开浏览器,在地址栏中粘贴刚复制的内容,进入路由器的管理后台; 第五步:在管理后台中,点击【转发规则】-【UPnP设置】

    1.2K00

    三年前的libupnp库漏洞,腾讯QQ音乐终于修复了

    由于3年前的一个漏洞,今天仍然有610万台设备可被远程代码执行,包括智能手机、路由器、智能电视等,而且这个漏洞早在3年前就已经修复。...该漏洞存在于UPnP™设备的便携式SDK中,也叫做 libupnp。这个库是用来实现媒体播放(DLAN)或者NAT地址转换(UPnP IGD)。...另外,除了移动设备,路由器和智能电视也在之列。 漏洞利用 该漏洞存在于 libupnp库处理简单服务发现协议(SSDP)包过程中。...该协议是 Universal Plug N’ Play (UPnP)标准的部分。在处理进程中会出现堆栈溢出,并且需要UDP1900端口打开。...一个是QQ音乐,在中国有1亿用户,仅在谷歌商店中就下载超过100-500万次。打开它时,会自动激活linupnp用于DLNA播放。然而它使用的SDK是1.6.17版本,是2012年4月份更新的。

    1.8K70

    复现|路由器命令执行

    /squashfs-root/ sh 通过ssh连接qemu,并启动路由器「此处需要再次执行chroot」 启动路由器 通过之前的qemu终端我们可以查看到ip地址已经发生变化,因此sh登陆的链接已经被断开...4 漏洞分析 首先需要分析出这37215端口的应用程序「此处对应的程序为upnp|怎么查找端口对应的程序可以参照我们之前的一篇文章」,然后对该程序进行逆向。...从POC中可以分析,注入点是在,通过在Ghidra中搜索该字符串,并查找交叉引用,找到目标函数「IDA不大行,没法F5,我也不知道为啥,求知道的师傅讲解」: 我们可以看到这sprinf...,qemu仿真机建立的文件如下 5 漏洞扩展 值得一提的是,该路由器的upnp只能从内网端口访问,默认无法从外网端口访问,那我们有什么办法扩大该漏洞影响呢?...bash脚本并以root的身份执行 能够将仅能在内网触发的漏洞扩大到远程攻击的想法,值得我们在每次漏洞挖掘中去思考 5 漏洞影响 在Satori僵尸网络事件中,攻击者使用的0day漏洞为华为家用路由器

    1.7K10

    【报告系列解读四】绿盟科技发现两类恶意端口映射家族

    因此,很多路由器都开放了UPnP服务。...UPnP问题严峻,需要多方参与才能改善现有的安全环境。 作为安全厂商: 可以在扫描类产品中加入UPnP扫描能力,及时发现客户网络中存在的安全隐患。...可以在防护类产品中加入对于SSDP和SOAP的流量检测能力,及时发现客户网络中存在的安全威胁。...作为设备开发商: 遵循OCF 的建议,产品在实现的时候加入对各类操作权限进行限制、对端口转发租用时间进行限制等安全机制。 在产品中采用较为安全的UPnP SDK。 提供设备的自动升级服务。...推动设备中UPnP功能的安全评估,如设备不满足相关要求,禁止设备上市等。 作为用户: 如无需要,关闭路由器的UPnP功能。 借助工具,自查端口映射表,发现异常条目,及时清除。

    88920

    Huawei HG532 系列路由器远程命令执行漏洞分析

    漏洞分析 根据 Check Point 的报告【1】,该远程命令执行漏洞的漏洞点位于 UPnP 服务中。 UPnP 是由“通用即插即用论坛”(UPnP™ Forum)推广的一套网络协议。...该协议的目标是使家庭网络(数据共享、通信和娱乐)和公司网络中的各种设备能够相互无缝连接,并简化相关网络的实现。 直接将固件中负责 UPnP 服务的 upnp 程序扔到 IDA。...requests.post('http://192.168.1.1:37215/ctrlt/DeviceUpgrade_1',headers=headers,data=data) 可以看到,我们成功在监听的端口上收到了请求...[8396e60c-eea7-48c1-b709-979482806fc9.png-w331s] 在默认设置下,从 WAN 口访问 37215 端口会被防火墙拦截,漏洞无法被利用。...公告中提到了以下漏洞缓解措施 配置路由器内置的防火墙 更改路由器默认密码 在路由器外部署防火墙 是的,没找到固件升级包,所以,没有补丁分析...

    1.4K150

    NAT穿透让你的内网服务轻松"破墙而出"

    在现代网络环境中,绝大多数家庭和企业都通过路由器(NAT 设备)连接互联网。...端口映射(Port Forwarding) 在路由器/NAT 设备上手动配置,将某个端口的流量转发到内网主机。 优点:简单高效 缺点:需要有路由器管理权限,不适用于动态 IP 2....NAT 穿透技术 a) STUN(Session Traversal Utilities for NAT) 主要用于 UDP 协议 内网主机通过 STUN 服务器获取自己的公网地址和端口 适用于对称 NAT...NAT 类型 b) TURN(Traversal Using Relays around NAT) 当 STUN 失败时,使用 TURN 服务器中继所有流量 适用于所有 NAT 类型,但带宽消耗大 c) UPnP...(通用即插即用) 内网主机请求路由器自动配置端口映射 需要路由器支持并开启 UPnP 功能 d) P2P 打洞(UDP/TCP Hole Punching) 双方主机同时向对方发送数据包,利用 NAT

    56710

    02-01 关于端口映射

    端口映射是网络配置中的一项技术,它通过路由器或防火墙将外部网络的请求转发到内网中指定设备的特定端口,使外部设备能够访问本地网络中的服务。...在企业或大型业务环境中,UPnP的使用受到限制,主要是因为其可能导致网络流量增加和安全风险。大量设备通过UPnP协议在局域网内广播其存在和能力,可能会占用大量网络带宽。...端口触发(Port Triggering) 在内部网络设备发起特定端口的连接时,自动打开路由器上的指定端口,允许外部设备访问。 适用于需要动态打开多个端口的应用程序,如P2P下载软件、网络游戏等。...例如内网中的一台电脑使用某个P2P下载软件,当它向外部服务器的端口6666发送请求时,路由器会自动打开端口7777,使外部设备可以连接到内网电脑的端口7777。...然而,在使用端口映射时,需要权衡功能和安全性,合理配置规则,以实现高效而安全的网络通信。 希望通过这篇文章,你已经对端口映射有了全面的了解,并能够在实际操作中得心应手!

    28610

    在 NAT 网络环境下获得被外网访问的权利

    打开 DMZ 开关,并将地址指定为你的设备 IP 地址 (针对部分路由器)在路由器后台中找到 Full Cone 选项,将其打开 再次进行 NAT 测试,你的结果理应为 Full Cone 或者,不配置端口转发...,通过 UPnP 进行映射 找到 高级设置 - 其他,启用 UPnP 光猫拨号,路由器 DHCP # 目前,这种情况比较常见 光猫型号不同,操作也不同 此处以 ZXHN F653GV9 举例 使用超管密码...找到 高级设置 - 端口转发(部分路由器叫做 DMZ 主机) 打开 DMZ 开关,并将地址指定为你的设备 IP 地址 (针对部分路由器)在路由器后台中找到 Full Cone 选项,将其打开 或者,不配置端口转发...,通过 UPnP 进行映射 找到 高级设置 - 其他,启用 UPnP 再次进行 NAT 测试,你的结果理应为 Full Cone 使用 Natter 进行映射 # 本部分书写于 Natter v2.1.1...- V2EX 分享一个在 NAT1 下将端口打开到公网上的方法 - V2EX Port Control Protocol support - For Developers - OpenWrt Forum

    64710

    看看路由器设置对不对

    用浏览器打开以上 IP 地址(本例中为 http://192.168.199.1/ ),在弹出的登录窗口中,输入用户名和密码。...注意:路由器后台密码和 Wi-Fi 密码是两个概念,当然你也可以把两个密码设置成一样的。 在无线 Wi-Fi 密码设置界面中,通常有个选项是选择加密算法,记住一定不要选择 WEP 加密。...这时,我们可以尝试开启路由器的 UPnP 功能,它能够让上网设备直接通过端口映射的方式连接外网,减少在局域网环节的性能损耗,从而提升下载速度。...登录路由器管理后台,在转发规则、端口映射或高级设置菜单中找到一个「UPnP 设置 」的选项,将其设置为「开启」状态,再试试下载速度是否有所提升。...大部分的路由器都具有无线中继功能,配置方式也比较简单。在路由器管理后台的无线网络设置中,开启「无线中继」模式,扫描需要被中继的 Wi-Fi 信号,勾选之后输入 Wi-Fi 密码即可扩展成功。

    4.7K161

    Huawei HG532 系列路由器远程命令执行漏洞分析

    UPnP 是由“通用即插即用论坛”(UPnP™ Forum)推广的一套网络协议。该协议的目标是使家庭网络(数据共享、通信和娱乐)和公司网络中的各种设备能够相互无缝连接,并简化相关网络的实现。...直接将固件中负责 UPnP 服务的 upnp 程序扔到 IDA。 通过字符串 NewStatusURL 对漏洞点进行定位。 ? 跟踪数据交叉引用 ? 漏洞点如下 ?...requests.post('http://192.168.1.1:37215/ctrlt/DeviceUpgrade_1',headers=headers,data=data) 可以看到,我们成功在监听的端口上收到了请求...值得一提的是,HG532e 路由器的 uPnP 服务和防火墙都是默认开启的,防火墙默认等级为低级。 ? 在默认设置下,从 WAN 口访问 37215 端口会被防火墙拦截,漏洞无法被利用。...公告中提到了以下漏洞缓解措施 配置路由器内置的防火墙 更改路由器默认密码 在路由器外部署防火墙 是的,没找到固件升级包,所以,没有补丁分析...

    884100

    NAT 穿透是如何工作的:技术原理及企业级实践

    上一节的基本前提是:hard side 只打开一个端口,然后 easy side 暴力扫描 65535 个端口来寻找这个端口; 这里的改进是:在 hard size 开多个端口,例如 256 个(即同时打开...但以前很多路由器都内置了 UPnP 协议, 现在仍然很多。...但与 UPnP 不同,这个协议只做端口转发,不管是在客户端还是服务端,实现起来都非常简单。...新挑战:同一 CGNAT 侧直连,STUN 不可用 但我们确实遇到了一个新挑战:如何直连两个在同一 CGNAT 但不同家用路由器中的对端呢?...列表中地址没有优先级,也就是说,如果对方给的了 15 个地址,那我们应该把这 15 个地址都探测一遍。 这些探测包有两个目的: 打开防火墙,穿透 NAT,也就是本文一直在介绍的内容; 健康检测。

    2.5K23

    2018年上半年物联网恶意活动&僵尸网络数据摘要

    前言 在F5实验室最新发布的物联网安全报告中,分析了2018年1月至6月期间全球物联网(IoT)设备受攻击的数据,涵盖物联网设备使用的主流服务和20个端口的分析数据。...2、远程登陆攻击占比下降,原因在于通过23端口监听的物联网设备已被Thingbot僵尸网络移除。 3、今年3月,针对每个受监听端口的攻击流量剧增。...图2:在过去10年中,物联网僵尸网络发起的恶意活动类型分布 构建物联网僵尸网络的主流方法是在互联网上对全球范围内的设备进行,查找开放的远程服务,比如说物联网领域专用的HNAP、UPnP、SOAP、CVE...智能电视和游戏机会定期启动网络服务器,使用UPnP管理自动打开SOHO路由器或防火墙的端口。Radiation、Reaper和Wicked均瞄准了HTTP协议的80、81和8080端口。...未来可以预见: 恶意挖矿软件在物联网系统中的传播途径更加多样化,如SOHO路由器、游戏机等。 勒索软件向要害设施和机构进发,尤其是工业控制系统、机场、医院、ATM等。

    1.9K40

    不懂就问,怎么才能让家里的网速变得更快?

    这时,我们可以尝试开启路由器的 UPnP 功能,它能够让上网设备直接通过端口映射的方式连接外网,减少在局域网环节的性能损耗,从而提升下载速度。...登录路由器管理后台,在转发规则、端口映射或高级设置菜单中找到一个「UPnP 设置 」的选项,将其设置为「开启」状态,再试试下载速度是否有所提升。...02 QoS 与网络限速 如果局域网内的某些设备经常挂迅雷下载,就会影响其他设备的上网和游戏体验,通过 QoS 和网络限速可以解决这一问题。 在路由器的管理后台中,找到并开启 QoS 设置。...大部分的路由器都具有无线中继功能,配置方式也比较简单。 在路由器管理后台的无线网络设置中,开启「无线中继」模式,扫描需要被中继的 Wi-Fi 信号,勾选之后输入 Wi-Fi 密码即可扩展成功。...在现实应用中,对讲机和电话就是半双工和全双工的实例。 03 合理设置下载软件的模式 现在下载软件都可以设置下载优化或者网页优先,可以根据自己的需要进行设置。

    1.3K40

    局域网与广域网:探索网络的规模与奥秘(310)

    路由器设置:静态地址分配、端口映射或 DMZ、ARP 绑定。 静态地址分配:可以通过路由器为特定设备分配静态 IP 地址,确保设备在网络中的地址稳定。...端口映射或 DMZ:光猫路由器设置端口映射 / 端口转发、开启 UPNP/DMZ 可以实现特定应用的外网访问。...打开光猫自动端口映射 - UPNP,UPNP 就是自动端口映射,好处是不用再手动一个个加端口映射。光猫的地址是 192.168.1.1,路由器是 192.168..1,是不同的网段。...用超管账号密码(跟客服要)登陆光猫,打开 UPNP 设置。在开启光猫 UPNP 之后,直接插在光猫 LAN 口下的电脑、NAS 等设备只要软件开启了 UPNP 就会自动在光猫上映射。...然后,在路由器上进行设置,如开启光猫路由模式下的自动端口映射(UPNP),用超管账号密码登陆光猫,打开 UPNP 设置,同时设置光猫的 DMZ 配置,将 DMZ 主机的 IP 填写为路由器的 WAN 口地址

    30610
    领券