首页 > 解决方案 > 使用 Node.js 可以访问多少网络堆栈?

问题描述

查看 TCP/IP 堆栈的表示,例如在这张照片中: 在此处输入图像描述

我有兴趣(只是出于好奇)尝试阅读第 2 层(数据链路)标头。这可能吗?我认为该net模块只允许访问传输层数据包。我看到还有一个udp模块,但同样我怀疑我是否可以从中获取数据链路层数据包信息。

以上是正确的吗?我是否认为传输层数据包数据通过 v8/etc 实现可供 JavaScript 运行时使用,并且较低级别的数据包数据(即以太网层)不会暴露给 Node.js 运行时?

标签: node.jstcp-ipdata-link-layer

解决方案


node.js 可以访问layer 3及以上。要捕获layer 2数据包,您需要调用诸如wireshark 之类的外部程序,或者使用集成了这些低级工具的模块。

Wireshark 有一个命令行界面,你可以使用child_process.


推荐阅读