如何使用node.js获取连接到我的路由器的设备列表

时间:2015-04-26 20:28:47

标签: javascript node.js

有没有办法使用javascript / NodeJS获取连接到路由器的设备列表?

1 个答案:

答案 0 :(得分:1)

你可以使用/proc/net/arp文件并像这样解析它:

var fs = require('fs');

fs.readFile('/proc/net/arp', function(err, data) {
    if (!!err) return done(err, null);

    var output = [];
    var devices = data.toString().split('\n');
    devices.splice(0,1);

    for (i = 0; i < devices.length; i++) {
        var cols = devices[i].replace(/ [ ]*/g, ' ').split(' ');

        if ((cols.length > 3) && (cols[0].length !== 0) && (cols[3].length !== 0) && cols[3] !== '00:00:00:00:00:00') {
            output.push({
                ip: cols[0],
                mac: cols[3]
            });
        }
    }

    console.log(output);
});

您也可以尝试node-libnmap。本地同行可以通过:

require('libnmap').nmap('discover', function(err, report){
    if (err) throw err
    console.log(report)
})