【发布时间】:2015-05-26 13:20:15
【问题描述】:
我有一台机器,每秒(甚至更少)有大量的连接和断开连接。 我需要在某一时刻捕获网络快照。但是我看到 netstat 需要一些时间来返回结果,然后很多套接字会重新连接。
netstat 实际上是如何工作的?它可以多快获得网络快照?
【问题讨论】:
标签: networking tcp netstat
我有一台机器,每秒(甚至更少)有大量的连接和断开连接。 我需要在某一时刻捕获网络快照。但是我看到 netstat 需要一些时间来返回结果,然后很多套接字会重新连接。
netstat 实际上是如何工作的?它可以多快获得网络快照?
【问题讨论】:
标签: networking tcp netstat
netstat 从 /proc/net/tcp|udp|raw 文件中收集信息,您可以快速捕获这些文件并稍后解析/重新格式化
strace 清楚地显示相同
$ strace -e open -f netstat -an 2>&1 |grep -v ENOENT |grep '^open("/proc'
open("/proc/net/tcp", O_RDONLY) = 3
open("/proc/net/tcp6", O_RDONLY) = 3
open("/proc/net/udp", O_RDONLY) = 3
open("/proc/net/raw", O_RDONLY) = 3
open("/proc/net/raw6", O_RDONLY) = 3
open("/proc/net/unix", O_RDONLY) = 3
【讨论】: