最近学用树莓派,要连接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会产生以下错误:
过程视频在我的个人空间了可以找到。
本文暂时没有评论,来添加一个吧(●'◡'●)