【问题标题】:How much of the network stack do I have access to using Node.js?使用 Node.js 可以访问多少网络堆栈?
【发布时间】:2019-03-25 17:39:09
【问题描述】:

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

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

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

【问题讨论】:

  • 为什么投反对票? (我知道我可能对这个主题有一个完整和基本的误解。如果是这种情况,请评论为什么会有帮助,而不仅仅是投反对票)
  • 您可以检查目录以确保您可以做什么和不能做什么nodejs.org/api。以太网层显然没有暴露出来。我假设可以使用本机插件访问您想要的任何内容。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 2014-01-11
    • 2020-05-27
    • 2011-04-24
    • 1970-01-01
    相关资源
    最近更新 更多