2016-11-06 51 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