【问题标题】:How to get port/socket information from kstat on Solaris如何从 Solaris 上的 kstat 获取端口/套接字信息
【发布时间】:2015-08-06 15:40:07
【问题描述】:

是否可以使用 kstat 来获取有关哪些进程打开了哪些端口的信息?我研究了 lsof 是如何做到的,显然他们读取了易失性内核内存,kstat 似乎可以访问(如果我错了,请纠正我)。

我只是想知道是否有人知道如何过滤 kstat 以显示有关端口已打开哪些进程的信息。也许我应该看哪个模块?

【问题讨论】:

    标签: mapping port solaris kstat


    【解决方案1】:

    在 Solaris 11.2 上,您可以使用 netstat -u 获取该信息。根据man page

    –u

    列出用户、进程ID和最初的程序 创建网络端点或立即控制它。

    在早期版本的 Solaris 上,没有简单的方法 - 您可以在某种程度上使用 pfiles,但它在识别套接字方面的实用性有限。

    另见What process is listening on a certain port on Solaris?

    【讨论】:

    • 是的,不幸的是,这只是 11.0。而且 pfiles 是不可能的,因为它需要很长时间才能执行,而且它有时会因为必须暂停进程而导致进程崩溃。
    【解决方案2】:

    不,kstat 不存储进程级别信息。此外,kstat 不提供对易失性内核内存的访问权限,而只允许访问特定的内核统计信息。

    最后,你不应该开始一个新问题,而是跟进here

    【讨论】:

    • 它们是不同的问题,另一个根本与 kstat 无关。我的意思是他们正在尝试做同样的事情,但我在每个问题中询问不同的机制。
    猜你喜欢
    • 1970-01-01
    • 2021-12-11
    • 2015-02-19
    • 2011-10-03
    • 1970-01-01
    • 2022-01-25
    • 2014-12-26
    • 1970-01-01
    • 2012-03-06
    相关资源
    最近更新 更多