2016-11-06 48 views
1

我将如何获取所有网络接口及其IP地址,MAC地址,状态及其主接口。获取与节点的所有网络接口

os.networkInterfaces()将无法​​正常工作,因为它不报告已停机,或者没有IP地址的接口,它不返回自己的状态(UP/DOWN /等)或它们的主接口。

+0

我觉得'os.networkInterfaces()'设计不良,有这个限制。 : - /也许这将是一个很好的功能要求?有了Node.js,包括这些天无时不刻的变化,也许有人会改变这个API。与此同时,你可能不得不掏腰包去写别的东西或写自己的扩展名。 – Brad

+0

看起来有一个老问题,从v0.10开始有点相关。 https://github.com/nodejs/node-v0.x-archive/issues/9029 – Brad

+0

@Brad,还有一个稍微更新的问题(4天),有一个节点基金会成员的回应。 https://github.com/nodejs/node/issues/498他们提到实施它会很乏味。 – Henry

回答

0
var shell = require('shelljs'); 

var interfaceCard = shell.ls('/sys/class/net'); 

这interfaceCard拥有所有的网络接口的列表

输出将是

[ 'eth0', 
'eth1', 
'lo', 
**stdout: 'eth0\neth1\nlo\n',** 
    stderr: null, 
code: 0, 
cat: [Function: bound ], 
exec: [Function: bound ], 
grep: [Function: bound ], 
head: [Function: bound ], 
sed: [Function: bound ], 
sort: [Function: bound ], 
tail: [Function: bound ], 
to: [Function: bound ], 
toEnd: [Function: bound ], 
uniq: [Function: bound ] ] 

interfaceCard=interfaceCard.**stdout**.split('\n'); 

interfaceCard = eth0, eth1, lo