Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何以编程方式提取每个TCP连接的TCP/IP计数器?_Linux_Networking - Fatal编程技术网

Linux 如何以编程方式提取每个TCP连接的TCP/IP计数器?

Linux 如何以编程方式提取每个TCP连接的TCP/IP计数器?,linux,networking,Linux,Networking,在过去的生活中,我使用的工具基本上能够跟踪这些信息: src_ip、dst_ip、src_端口、dst_端口、发送字节、接收字节、发送数据包、接收数据包、重新传输数据包、重新传输字节 对于计算机上的每个活动TCP连接。当时(大约2008年),这依赖于内核补丁来扩展内核跟踪的计数器。我想我听说几年前它就集成到内核中了。但这是永远的,我忘记了细节 生活让我走了一整圈,我发现自己想再次编写这样一个工具,但我不记得如何访问这些计数器/配置linux,以便它跟踪这些信息 可能有某种方法可以使用netsta

在过去的生活中,我使用的工具基本上能够跟踪这些信息:

src_ip、dst_ip、src_端口、dst_端口、发送字节、接收字节、发送数据包、接收数据包、重新传输数据包、重新传输字节

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

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

可能有某种方法可以使用netstat实现这一点,但我还没有能够在该接口中获得公开的计数器信息


任何让内核跟踪这些信息并合理有效地导出数字的方法都已经足够了。我希望不必运行IPTables来完成这项工作。

您可以通过
/proc/net/tcp
获得一些每个套接字的信息。可以通过
/proc/net/snmp
重试其他全局信息。但是,我不认为内核在每个套接字上跟踪发送的字节、接收的字节、发送的数据包、接收的数据包、重新传输的数据包、重新传输的字节。

您可以使用该工具进行流量统计


我想这就是你以前使用过的工具。

我发现最接近我正在尝试做的事情是:但即使这样,也没有公开重传值,不幸的是,这是一些最有趣的信息。看起来我以前使用的补丁一定是某个东西的一部分,该东西在以前的工作中是定制内核的一部分。