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

标签 node.js tcp data-link-layer

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

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

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

最佳答案

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

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

关于node.js - 我可以使用 Node.js 访问多少网络堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52915910/

相关文章:

networking - 在数据链路层拦截数据包

algorithm - 我正在寻找用于 CRC32 算法实现的标准化测试向量

node.js - 如何了解Firebase云函数中的新数据?

tcp - 建立 TCP 连接需要多少数据?

java - 在 Java 中,如何从已打开的 C 套接字的文件描述符中获取 Socket 或 DatagramSocket?

windows - TCP:地址已在使用异常 - 客户端端口的可能原因?没有端口耗尽

packet - 用于执行链路层数据包修改的库

javascript - Express 中的动态路由, "Cannot read property ' concat' of undefined”错误

node.js - NodeJS 集合中的 Marklogic QueryByExample

javascript - esm 不解析模块别名