【问题标题】:How to determine the ports that a node app has opened如何确定节点应用打开的端口
【发布时间】:2014-06-11 05:49:11
【问题描述】:

在开发节点 ExpressJS 应用程序时,我看到了指定服务器应侦听 process.env.PORT || 的示例代码80. 我明白这一点。如果环境设置了 PORT,则应用程序会选择它,如果没有,则使用端口 80。由于我配置了服务器,因此我可以控制它并且知道我设置的那些。

但是,能够访问我的一台服务器并发出命令以查看所有正在运行的节点应用程序及其已打开的端口,这对我来说仍然很有用。 这可能吗?

这部分是受到另一个令人担忧的问题的启发。在我的本地机器上,我运行了一个端口监视器以确保安全,并注意到我的节点应用程序调用了外部站点。我没有对它进行太多调查,但我想它现在已经成为模块和构建工具回家的东西,这样他们的开发人员就可以收集使用指标。在开发过程中这不是一个大问题,但如果我可以跟踪我的节点应用程序建立的连接,这将有助于识别其中使用的可能用作某种信标的包。

【问题讨论】:

    标签: node.js security networking


    【解决方案1】:

    在 Linux 下,你可以这样做:

    sudo netstat -nap | grep node
    

    打印进程名称的 -p 选项是 Linux 特定的。另一种选择是 lsof。这应该适用于安装了 lsof 的任何系统:

    sudo lsof -iTCP -sTCP:LISTEN -a -c node
    

    【讨论】:

    • 这产生了一些有趣的信息!正是我所需要的。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 2020-04-08
    • 2014-10-10
    • 2018-11-15
    • 2018-06-04
    相关资源
    最近更新 更多