检索node.js中的网络接口列表(ioctl SIOCGIFCONF)

wea*_*eak 12 javascript ioctl v8 interface node.js

我是节点的新手,正在利用node_pcap将节点应用程序混合在一起,以捕获数据包数据并用它做有趣的事情.捕获数据的输入之一是要监听的网络接口,即"eth0".

我认为如果我能够以编程方式查找系统上的可用接口并将它们呈现给程序的用户并允许它们选择要监听的接口,那将是非常好的.在C中,我将使用SIOCGIFCONF 使用ioctl(或使用winsock的ioctlsocket).

我的问题是,目前是否存在在节点中执行此操作的机制?我搜索了很多,没有达到任何这样的解决方案.

如果当前不存在此功能,我会假设我能够使用ioctl在C/C++中编写模块绑定来实现此目的.

感谢您的时间!

cri*_*hoj 18

从Node.js 0.6.0开始

require('os').getNetworkInterfaces()
Run Code Online (Sandbox Code Playgroud)

http://nodejs.org/docs/latest/api/os.html#os.getNetworkInterfaces

  • 请注意,这不会显示任何自启动以来没有连接的接口。这意味着如果您有多个接口,例如“eth0”、“eth1”,其中只有“eth0”曾经连接过。此方法只会显示“eth0”,而不显示“eth1”。 (3认同)