【问题标题】:How to programatically extract TCP/IP counters per TCP Connection?如何以编程方式提取每个 TCP 连接的 TCP/IP 计数器?
【发布时间】:2012-04-03 02:31:24
【问题描述】:

在过去的生活中,我开发了一个基本上能够跟踪这些信息的工具:

src_ip、dst_ip、src_port、dst_port、bytes_sent、bytes_received、packets_sent、packets_received、packets_retransmitted、bytes_retransmitted

对于机器上的每个活动 TCP 连接。当时(大约 2008 年)这依赖于内核补丁来扩展内核跟踪的计数器。我想我听说几年前它已集成到内核中。但它是永远的,我忘记了细节。

生活让我转了一圈,我发现自己想再次编写这样的工具,但我不记得如何访问这些计数器/配置 linux 以便跟踪这些信息。

可能有某种方法可以为此使用 netstat —— 但我还无法获得该界面中公开的计数器信息。

任何让内核跟踪这些信息的方法——并合理有效地导出数字就足够了。我希望不必运行 IPTables 来做到这一点。

【问题讨论】:

    标签: linux networking


    【解决方案1】:

    您可以通过/proc/net/tcp 获取一些每个套接字的信息。其他全局信息可以通过/proc/net/snmp重试。但是,我认为内核不会在每个套接字的基础上跟踪 bytes_sent、bytes_received、packets_sent、packets_received、packets_retransmitted、bytes_retransmitted。

    【讨论】:

    • 我发现的最接近我想要做的事情是:code.google.com/p/ipt-account/wiki/Usage 但即使这样也没有暴露重传值,遗憾的是,这是一些最有趣的信息.看起来我之前使用的补丁一定是之前工作中定制内核的一部分。
    【解决方案2】:

    您可以使用linux conntrack 工具进行流量统计。

    我猜那是你以前用过的工具。

    【讨论】:

      猜你喜欢
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-26
      相关资源
      最近更新 更多