我可以使用Node.js访问多少网络堆栈?

时间:2018-10-21 13:40:25

标签: node.js tcp-ip data-link-layer

查看TCP / IP堆栈的表示形式,例如这张照片: enter image description here

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

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

1 个答案:

答案 0 :(得分:1)

node.js可以访问layer 3及更高版本。要捕获layer 2个数据包,您需要调用外部程序,例如wireshark,或使用集成了这些低级工具的模块。

Wireshark有一个command line interface,您可以使用child_process从节点调用它。