在浏览器中使用 Javascript 敲门 UDP

Port Knocking UDP with Javascript in Browser

本文关键字:Javascript 敲门 UDP 浏览器      更新时间:2023-09-26

所以我正在尝试从javascript发送端口敲击序列。

TCP部分对于websockets来说非常简单。

我读过WebRTC是浏览器提供的最接近发送UDP数据包的东西......但是WebRTC需要消化很多东西,只是为了尝试发送UDP"敲门声"。

甚至有可能使用WebRTC通过UDP"敲门"吗? 如果是,请提供一个简单的例子。 我只是在寻找一个简单的工作示例。 即通过TCP"敲门",您可以使用以下内容:

var sock = new WebSocket("ws://"+ host +":"+ port);
实际上可以使用

浏览器发送UDP数据包。

您可以编写一个 chrome 扩展程序(应用程序(,让您可以访问 https://developer.chrome.com/apps/sockets_udp("sockets": {...}在您的 manifest.json 中(。

或者,就WebRTC而言:

var pc = new webkitRTCPeerConnection(
    { "iceServers": [{ "url": "stun:localhost:1234" }] }
);
pc.createOffer(function (sessionDescription) {
    pc.setLocalDescription(sessionDescription);
}, function(error) {
    alert(error);
}, { 'mandatory': { 'OfferToReceiveAudio': true, 'OfferToReceiveVideo': true } });

还有一个快速的红宝石脚本

需要"套接字">

$port = 1234
t = Thread.start do
  server = UDPSocket.open
  server.bind(nil, $port)
  4.times do
    a = server.recvfrom(12364)
    p a
    p server.send "ping", 0, a[1][2], a[1][1]
  end
end
t.join
["''x00''x01''x00''

x00!''x12''xA4B0PgJcgcqalrO", ["AF_INET", 51881, "192.168.0.27", "192.168.0.27"]] 4 ["''x00''x01''x00''x00!''x12''xA4Bbmfxf2ABsZws", ["AF_INET", 53092, "192.168.0.27", "192.168.0.27"]] 4 ["''x00''x01''x00''x00!''x12''xA4B0PgJcgcqalrO", ["AF_INET", 51881, "192.168.0.27", "192.168.0.27"]] 4 ["''x00''x01''x00''x00!''x12''xA4Bbmfxf2ABsZws", ["AF_INET", 53092, "192.168.0.27", "192.168.0.27"]]

我不确定这是否符合"端口敲击序列"的条件。

参考: https://www.webrtc-experiment.com/docs/webrtc-for-beginners.html