问题标签 [ssdp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4045 浏览

cordova - 查找连接到同一网络的设备的 IP 地址和端口

我正在 angular/cordova 中为 iOS 和 Android 构建一个应用程序,我想在我的本地网络上(动态地)找到某个设备的 IP 和端口,以便能够发送发布请求并通过它的 API 与之交谈。

API 说我可以使用SSDPDNS-SD发现该设备。我查找了这两个帮助程序,它们可以帮助我获取网络上所有连接设备的列表:

但就我而言,节点是一个服务器端框架,我不能只在我的应用程序中“要求”节点模块。去这里最合乎逻辑的方式是什么?我只是想获取我网络上所有连接设备的列表,这很难实现吗?

0 投票
1 回答
169 浏览

sony - Sony A-7R (ILCE-7R) 在固件 2.0 更新后拒绝通过 Sony Remote API 连接

最近为我的 Sony Alpha 7R 发布了全新的固件 2.0。我刚刚更新了固件。之后,使用 Sony Remote API 的应用程序将无法再连接到相机。我试图监督 UDP 流量。我看到 SSDP 问题。应用程序按照 SDK 的请求发送 SSDP 请求,但根本没有收到任何响应。

更新:研究后我必须做一些笔记。如果相机和计算机 Wi-Fi 有一段时间空闲(最多几分钟),如果在空闲时间之后请求连接,仍然可以连接。

0 投票
1 回答
928 浏览

p2p - How do I use SSDP?

I need a way for my application to find someone with the same application on a local network.

But can't find the docs to use a protocol like SSPD. It says its UDP on port 1900 and the ip 239.255.255.250.

It also says it can use NOTIFY and M-SEARCH.

But that is it. I've hit a wall. And I need some guidence.

OVERVIEW

Trying to make my apps automatically find each other and exchange ip/names on a local network so they can talk to each other p2p-style without a connection broker.

0 投票
1 回答
1213 浏览

security - 如何正确防止 SSDP 反射/放大攻击?

我正在实现一个应该响应SSDP M-SEARCH查询的设备。

我是设备供应商,我无法控制这些设备的部署位置。

有一种已知的 DDoS 攻击使用 SSDP 搜索放大,即攻击者从虚假地址发送搜索请求,而编码不良的 SSDP 服务器会响应该虚假地址。假地址最终会受到打击。

我应该怎么做才能防止我的设备被用于此类攻击?

  1. 仅设置 TTL=2 并依靠路由器丢弃数据包
  2. 只响应来自自己子网的请求
  3. 为有效的查询源子网添加配置选项
  4. 猜猜什么 IP 地址是“本地”和“全球”
  5. 添加响应油门,希望最好
  6. 你的建议?

Wrt 1. TTL 应该根据 SSDP 规范进行配置;即使响应非常低,仍然会从本地网络泄漏。如果网络上有一个桥接 VPN,响应会泄漏得很远。

Wrt 2. 我可以想象可以访问多个子网的公司网络(例如,一个子网用于无线客户端,另一个用于台式机,另一个用于服务器),因此我的设备必须可以跨子网搜索(尽管每个规范都受 TTL 限制)。

Wrt 3.配置和维护麻烦。

Wrt 4.有可靠的方法吗?IPv6 怎么样?具有例如 /28 片全局地址的网络呢?

Wrt 5. 来自无数设备的涓涓细流仍然相当于洪流......

参考:https ://blog.sucuri.net/2014/09/quick-analysis-of-a-ddos-attack-using-ssdp.html

0 投票
0 回答
764 浏览

windows - Windows SSDP 发现服务限制传出 SSDP 广播

我有一个广播 SSDP 发现请求的 Python 应用程序。我注意到我试图发现的设备并不总是响应。使用 Wireshark,我发现只有我的一些广播可以到达网络。经过一些故障排除后,我将问题的根源隔离到 SSDP 发现服务 - 如果我禁用该服务,那么我的数据包丢失就会消失。此外,如果我使用 SSDP (239.255.255.250) 以外的多播地址,问题也会消失。所以看起来 SSDP 肯定会限制我传出的 UDP 广播。知道这是为什么吗?也许试图合并广播/限制流量?我使用的是 Windows 7。在 OSX 下不会出现此问题。

这是一个演示数据包丢失的快速测试应用程序 - 两个实例在同一系统上运行,发送者实例每秒传输一个数据包,接收报告测试定义的数据包编号中的任何间隙。

编辑(10/06/15):我相信我是这个问题的根源。Windows SSDP 发现服务会定期循环显示哪个接口多播数据包发出,以及哪些接口传入数据包,即使在仅配置/在线的一个物理网络接口的系统上也是如此。在我的系统上,我有一个有线以太网和两个虚拟 VMware 网络适配器(我没有在 VM 中运行——它们在主机端并且已启用但未使用)。我修改了上述实用程序的源代码,以支持通过 setsockopt(IP_MULTICAST_IF) 配置我的广播在哪个接口上发出,以及我通过 setsockopt(IP_ADD_MEMBERSHIP) 在哪个接口上收听广播。然后我运行了该实用程序的四个实例——一个在 INADDR_ANY 上发送,一个在 INADDR_ANY 上接收,还有两个监听每个 VMware 虚拟网络适配器(VMnet1 和 VMnet8,都预先配置了自己的制造/虚拟子网)。当 INADDR_ANY 接收器实例开始丢失数据包时,我看到它们出现在一个 VMware 侦听器上。这是我证明 Windows SSDP 发现服务正在循环为多播传输设置的默认适配器的证据。当 SSDP 服务被禁用时,我没有看到这种情况发生。我假设发现服务这样做是为了在所有网络接口上捕获 SSDP 消息,尽管目前尚不清楚为什么它必须更改系统默认多播来完成此操作,而不仅仅是在系统中的每个接口上拥有多个套接字。当 INADDR_ANY 接收器实例开始丢失数据包时,我看到它们出现在一个 VMware 侦听器上。这是我证明 Windows SSDP 发现服务正在循环为多播传输设置的默认适配器的证据。当 SSDP 服务被禁用时,我没有看到这种情况发生。我假设发现服务这样做是为了在所有网络接口上捕获 SSDP 消息,尽管目前尚不清楚为什么它必须更改系统默认多播来完成此操作,而不仅仅是在系统中的每个接口上拥有多个套接字。当 INADDR_ANY 接收器实例开始丢失数据包时,我看到它们出现在一个 VMware 侦听器上。这是我证明 Windows SSDP 发现服务正在循环为多播传输设置的默认适配器的证据。当 SSDP 服务被禁用时,我没有看到这种情况发生。我假设发现服务这样做是为了在所有网络接口上捕获 SSDP 消息,尽管目前尚不清楚为什么它必须更改系统默认多播来完成此操作,而不仅仅是在系统中的每个接口上拥有多个套接字。

解决方法是显式设置我为多播传输和侦听配置的接口,而不是依赖 INADDR_ANY,这是处理多播的传统方式,在所有其他单宿主操作系统平台上都可以正常工作。请注意,您不仅必须显式设置发送接口,还必须显式设置接收端,因为发现服务的默认接口循环适用于默认传输接口以及 IP 多播成员组接受哪个接口传入数据包.

0 投票
1 回答
1452 浏览

upnp - 发送 M-SEARCH 后如何连续监听 SSDP 响应

我想在网络上搜索 Sat>IP 服务器。Sat>IP 服务器向其他 Sat>IP 服务器和客户端通告它们的存在。我不能连续发送 M-SEARCH 消息,而是它会监听服务器 NOTIFY 消息。

初始化设备的网络设置后,如果已经有任何活动的 Sat>IP 服务器,我将发送 M-SEARCH 消息并获得响应。但是,如果我在发送 M-SEARCH 消息后打开 Sat>IP 服务器,我无法得到任何响应。

这是我的代码。

我该如何解决这个问题?任何帮助,将不胜感激。

0 投票
2 回答
629 浏览

windows - 在 Windows 上设置飞利浦 Hue

我正在尝试在 Windows 8.1(64 位)上设置 Philips Hue。但是,我不确定为什么当我浏览以下网站时它没有显示任何内容: https ://www.meethue.com/api/nupnp

我什至尝试过以下方法(因为他们的一些页面位于 www2 上。) https://www2.meethue.com/api/nupnp

现在我无法遵循本教程 http://www.developers.meethue.com/documentation/hue-bridge-discovery

所以事实上我想知道是否有一种方法可以使用 Windows 控制 Hue 并使用它的 SDK 编写代码?我很难设置它。

我已经用我的手机设置了它,它可以正常工作。

0 投票
1 回答
4173 浏览

java - Android SSDP 服务发现

我正在实现一个 java 程序,它使用 SSDP 发现扫描我拥有的一些智能设备。我使用的代码仅检测到 10 个连接到我的本地网络的设备中的 2 个。我无法理解的原因是。

我的问题是,为什么我无法获取本地网络中的所有设备。

这是我正在使用的代码

下面是几个常量

主班

任何人都可以为这个问题提出一个解决方案吗?

0 投票
0 回答
387 浏览

swift - 使用 GCDAsyncUdpSocket 进行拨号发现

我正在尝试使用 GCDAsyncUdpSocket 来发现网络上的 DIAL 设备。我已成功使用 Netflix 的官方 C++ 客户端来发现设备,如此所述,但我想避免在我的 Swift 项目中使用 C++ 或 Objective-C++ 类。这是我的发现类,它报告正在创建和打开的套接字,但什么也没收到。是否有人精通 DIAL 足以看出我哪里出错了?

0 投票
0 回答
214 浏览

android - UPnP 数据包未接收

我有一个可以在 UPnP 搜索中找到的相机。它还每 150 秒通告(多播)与 UPnP 搜索相同的响应。

我创建了一个 android 应用程序,它可以通过 UPnP 搜索或仅收听多播广告来识别相机。

我通过创建一个多播套接字并监听任何数据包来实现广告监听

现在我的问题是,在华硕 Zenfone(Android 5.0 版)上,它工作正常,但在联想 A1000(相同的安卓版本)上却失败了。

Lenovo A1000 可以从 Windows PC 捕获 SSDP 数据包。问题仅与来自我的相机的数据包有关。

但是如果来自摄像头的数据包被破坏,那么它是如何在华硕 Zenfone 中捕获的呢?

我的问题是android会在到达我的应用程序之前阻止任何数据包吗?