【发布时间】:2014-12-18 22:36:40
【问题描述】:
所以我正在尝试从 javascript 发送端口敲击序列。
使用 websockets 的 TCP 部分很简单。
我读到 WebRTC 是浏览器提供的最接近发送 UDP 数据包的功能......但 WebRTC 只是为了尝试发送 UDP“敲门”而需要消化很多东西。
是否甚至可以使用 WebRTC 通过 UDP “敲门”?如果是这样,请提供一个简单的例子。我只是在寻找一个简单的工作示例。 IE。要通过 TCP “敲门”,您可以使用以下内容:
var sock = new WebSocket("ws://"+ host +":"+ port);
【问题讨论】:
-
不,无法从浏览器发送 UDP 数据包。
-
@symcbean 我不同意这种说法。可以从浏览器发送 UDP 数据包。
-
@wpp:您的示例不从浏览器发送 UDP - 它创建了一个在浏览器中运行的自定义扩展。也可以使用 ActiveX 或 Java 实现此结果 - 但它需要在客户端上安装自定义组件。
-
@symcbean 我的示例没有创建扩展。它使用 WebRTC ICE Gathering(发送 UDP 数据包以确定媒体会话的可能候选者)。还是我误会了什么?
-
值得注意的是,端口敲门很容易受到网络流量嗅探的影响,因为敲门序列没有加密。有一些方法可以解决该漏洞cryptoknock、fwknop、sKnock。然而,它们都不是为在网络浏览器中工作而设计的。
标签: javascript html browser webrtc