【问题标题】:Accessing raw sockets on Raspberry pi using nodejs使用 nodejs 访问 Raspberry pi 上的原始套接字
【发布时间】:2014-04-25 13:28:29
【问题描述】:

我想在我的本地网络上进行 ip 发现。我已经使用 nodejs 和 debian linux 以及 nodejs 的 net-ping 模块编写了一个脚本。它在我的本地机器上运行良好。

但是当它尝试在我的 RaspberryPi 设备上运行它时,它给出了操作不允许的错误。

我什至尝试通过分配功能 setcap cap_net_raw=+e 'path to the node' 将原始套接字的访问权限授予节点,但即使该操作也是不允许的。

请有人提出一些解决方案,让 net-ping 模块访问原始套接字。

谢谢

【问题讨论】:

  • 您使用的是什么发行版?您是否尝试过以 root 身份运行该应用程序? sudo app.js?
  • 我正在运行 debian。同样以 root 身份运行会使设备面临安全问题,因此这不是一种选择。节点命令也不适用于 sudo。
  • 它至少是一个故障排除步骤。 Node 绝对可以用 sudo 运行。
  • 你尝试过 JXcore 的 raspbian 发行版吗?
  • cap_net_raw=e 没有任何意义。你可能想试试cap_net_raw=ep

标签: linux node.js raspberry-pi raw-sockets


【解决方案1】:

net-ping 使用 node-raw-socket 需要 root 访问权限才能创建其原始套接字。

您必须使用 sudo 运行您的应用程序:

sudo node app.js

【讨论】:

    猜你喜欢
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多