我已經找到了使用Node.js獲取網絡地址的方法(使用require('os').networkInterfaces()
)。Node.js:知道我在哪個子網?
但有人知道如何找到哪個子網(/24, /16, /8
...)我在嗎?
該項目涉及使用掃描;-) evilscan
我使用的是OS X
感謝
我已經找到了使用Node.js獲取網絡地址的方法(使用require('os').networkInterfaces()
)。Node.js:知道我在哪個子網?
但有人知道如何找到哪個子網(/24, /16, /8
...)我在嗎?
該項目涉及使用掃描;-) evilscan
我使用的是OS X
感謝
您可以隨時從您的節點腳本執行的ifconfig,然後解析輸出和我自己的子網爲您感興趣的網絡接口提取子網參數。
您需要執行CIDR計算,可以使用netmask等模塊進行計算。
var subnet = require('subnet').Netmask,
ifaces = require('os').networkInterfaces();
ifaces.forEach(function(iface) {
console.log(new netmask(iface.address+'/'+iface.netmask));
});
或者你可以使用libnmap和.discover()
方法來檢測和自動掃描每個接口(S)的子網中的設備。
var nmap = require('libnmap');
nmap.discover(function(err, report) {
if (err) throw new Error(err);
for (var item in report) {
console.log(JSON.stringify(report[item]));
}
}
謝謝@moritz代碼編輯,手機不是最好的吧 –
啊!這就是...對不起,我應該猜到了。是的,在手機上很奇怪。 – Moritz