专业的编程技术博客社区

网站首页 > 博客文章 正文

记录用H5的webrtc搜索ssh端口找到树莓派ip地址

baijin 2024-08-17 10:59:41 博客文章 3 ℃ 0 评论

最近学用树莓派,要连接ssh,发现找树莓派的IP好麻烦,想有一种比较方便不用下软件,还跨平台找地址的方法,自己以前也学过点WEBRTC,了解到可以对IP段扫描,所以上网查了一下,找到了这个文章《在Chrome中使用WebRTC ICE服务进行端口扫描》,上面有实例可以直接使用。

我直接抄了说明内的代码修改方便理解。

使用:新建一个文本把以下代码粘贴进去,保存修改为.html的后缀名然后用chrome浏览器运行即可。

也可以打开一个web在线编辑器: 粘贴以下代码

<html>

<body>

<div id="hosts"></div>

<script>

var brute_array = [];

for (i = 0; i < 256; i++) {

brute_address = "turn:192.168.1." + i + ":22?transport=tcp";

brute_array.push({

urls: brute_address,

credential: "lobster",

username: "albino"

});

}

var rtc_brute = new RTCPeerConnection({

iceServers: brute_array,

iceCandidatePoolSize: 0

});

rtc_brute.createDataChannel('', {

reliable: false

});


rtc_brute.onicecandidateerror = function(e) {

if (e.url == null) {

return;

}

//console.log(e.port)

url_split = e.url.split(":");

host_div = document.createElement('div');

host_div.id = url_split[1];

if(e.port){var result = "open";}else{var result = "close";}

host_div.innerHTML = url_split[1] + ": 22 port is " + result;

document.getElementById('hosts').appendChild(host_div);

}


// trigger the gathering of ICE candidates

rtc_brute.createOffer(function(offerDesc) {

rtc_brute.setLocalDescription(offerDesc);

}, function(e) {

console.log("Create offer failed callback.");

});


</script>


</body>

</html>


这个代码只能在Chrome上才能生效

Firefox会产生以下错误:

过程视频在我的个人空间了可以找到。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表