你用什么命令行工具来监控linux上的主机networking活动?

哪些命令行工具可以可靠地监控networking活动?

我已经使用了ifconfig,但一位办公室的同事说,它的统计数据并不总是可靠的。 真的吗? 我最近使用了ethtool,但是可靠吗? 那么看看/ proc / net'文件'呢? 那还好吗?

编辑

我对数据包Tx / Rx,字节Tx / Rx感兴趣,但最重要的是丢弃或错误,以及为什么可能发生丢弃/错误。

我喜欢和使用pmacct

从他们的网页:

概述。
IP计费是基础networkingpipe理任务(如计费,绘制networking资源使用情况,实时或历史stream量趋势分析,转向BGP对等,实时警报和某些SLA监视)的关键活动。 通常,SNMP计数器由于其粗粒度而在这些方面不起作用; 实时stream量镜像,NetFlow和sFlow通过提供更细粒度的数据来打破这一障碍。 但是目前的高速大规模networking能够在很短的时间内产生大量难以处理的数据。 在这种情况下,空间和时间聚合,灵活的过滤和采样能力成为关键要求。

pmacct是一小组被动networking监测工具,用于测量,计算,分类,聚合和导出IPv4和IPv6stream量; 其主要特点是:

  • 适用于ISP,IXP,CDN,IP运营商,数据中心和热点环境
  • 在Linux,BSD,Solaris和embedded式系统上运行
  • 支持IPv4和IPv6
  • 通过libpcap,Netlink / ULOG,NetFlow v1 / v5 / v7 / v8 / v9和sFlow v2 / v4 / v5收集数据
  • 将数据保存到许多后端,包括内存表,MySQL,PostgreSQL和SQLite
  • 通过NetFlow v5 / v9和sFlow v5将数据导出到远程收集器
  • 灵活的架构来标记,过滤,redirect,聚合和拆分捕获的数据
  • 实现一个BGP守护进程来增加对networking的可见性(从0.12开始)
  • 交通stream分类。 在这里阅读更多
  • 支持数据包和stream量采样和重新规范化
  • 易于整合新的捕获环境和数据后端的可插入式架构
  • 细心的SQL支持:数据预处理,触发器,dynamic表命名
  • 它是免费的,开源的,开发和支持的激情和开放的思想

无论是使用内存还是SQL表作为后端存储,pmacct都可以轻松地将数据提供给外部工具,包括RRDtool,GNUPlot,Net-SNMP,MRTG和Cacti等等。 小脚本function是必需的,一些示例脚本,贡献,Web前端和一些教程已经可用。

我使用的其他工具包括:

tcptrack是一个嗅探器,它显示有关在networking接口上看到的TCP连接的信息。 它被动地监视networking接口上的连接,跟踪它们的状态并以类似于unix'top'命令的方式显示连接列表。 它显示源和目标地址和端口,连接状态,空闲时间和带宽使用情况。

Pktstat显示在networking接口上看到的活动连接的实时列表,以及正在使用多less带宽。 部分解码HTTP和FTP协议以显示正在传输的文件名。 还显示X11应用程序名称。 条目在屏幕上停留几秒钟,以便您可以看到发生了什么。 还接受tcpdump的filterexpression式。

Iptraf

iftop的

tcpdump / wireshark

每当有人告诉我“有人这样做不好”,我总是要求具体。 很多时候,你会发现它是传闻,或者基于一些人认为,因为5年前的一个错误版本,有人已经进行了概括。 中国人耳语比比皆是!

当你说“监测networking活动”,我假定你的意思是计数来自ifconfig的RX和TX字节。 我没有听到任何关于它不可靠的事情。 我们通过SNMP导出这些值并绘制它们。 他们相比,切换活动,我们也正在绘制哪个是这些连接的另一个端点,我可以看到没有差距,这表明他们是不可靠的。

你确实需要知道:

  1. 计数器重新启动后重置

  2. 卸载/重新加载与接口相关的networking驱动程序后,计数器复位

  3. 计数器包装,并且它们将在哪里包装可能取决于你的架构和内核版本

我不能没有我的生活。

dstatiftopiptrafbwm-ng是我的最爱。

根据您的TX / RX统计数据的历史logging,我可能会使用munin 。 但是穆宁不会告诉你为什么。 这是一个munin可以产生的图表的例子。

mtrvalidation丢弃的数据包和响应时间。 运行mtr -i 15一段时间会告诉你,如果你有周期性的问题,并告诉你一些在networking中的位置。