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

 Смежные вопросы

  • Нет связанных вопросов^_^