首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在/packets中获取像Rx/Tx字节( node.js )这样的网络静力学

如何在/packets中获取像Rx/Tx字节( node.js )这样的网络静力学
EN

Stack Overflow用户
提问于 2014-09-05 09:11:42
回答 1查看 2.5K关注 0票数 2

我正在用node.js开发一个视频流应用程序。由于它可能消耗大量的网络带宽,我想知道如何在node.js中跟踪应用程序以及整个系统本身的带宽使用情况?

期望输出的示例:

本应用程序: 100 kb Rx 18 mb Tx

总计: 200 kb Rx 20 mb Tx

EN

回答 1

Stack Overflow用户

发布于 2014-09-05 10:11:49

拥抱你自己,因为这并不容易。

只有nodejs模块(据说是跟踪我发现的网络流量)是网络调试器。我不相信你会在那个项目中找到你的问题的答案。

网络监视通常高度特定于操作系统:

  • Windows:唯一的选项是WinPCap
  • MacOS:上网。很少有linux网络实用程序端口也能工作。
  • Linux:你真是个幸运的人。最近,尼太基已经成为最受欢迎的网络顶级实用工具,并且在大多数分销商中都可以通过他们的包管理器获得。请看一下这个比较文章,了解更多关于linux网络工具的信息。

是的,您是对的,它不是nodejs库,但正如您所猜测的,没有一个库。这在一定程度上可能是因为sys管理员总是偏爱基于控制台的单一工具来监视他们的服务器,因此很少需要在节点中实现网络监视库。

为了达到预期的目的:

  1. 选择一个可用的网络工具。
  2. 玩一玩它,看看它是否是你想要的(他们是不同的,所以一定要尽量少试)。
  3. 如果您喜欢它提供的信息,请学习如何将其输出到管道友好的格式中。
  4. 现在,您需要您的node.js服务器在管道模式下启动该工具并捕获输出。
  5. 好了。

有一个有趣的文章非常详细地介绍了如何使用现有的基于控制台的工具在node.js中编写系统监视器,可能会有很大帮助。您可能需要选择其中一个基于控制台的工具,学习如何以管道友好的模式启动它(这样输出就可以管道到文件或流到您的node.js服务器)。

或者,您可以重新发明轮子,在node.js中制作自己的网络监控工具,但我担心它最终会变成一半JavaScript,一半是C或Objective中特定于操作系统的代码。

还请注意,您需要管理员权限(sudo或windows上的管理员用户)来监视网络。这意味着您可能必须以更高的权限运行node.js。记住这是一个额外的风险。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25682380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档