<返回更多

Linux下网络流量常用那些监控工具

2020-05-14    
加入收藏

这些工具提供的功能非常强大,我们平时使用的只是冰山一角,比如lsof、ip、tcpdump、iptables等。本文不会深入研究这些命令的强大用法,因为每个命令都足以写一篇文章,本文只是简单地介绍并辅以几个简单实例,旨在大脑中留个印象,平时遇到问题时能够快速搜索出这些工具,利用强大的工具,提供一定的思路解决问题。

Linux下网络流量常用那些监控工具

 

 

1 表层面的嗅探器


在这个类别下, 监控工具在链路上捕捉独立的包, 分析它们的内容, 展示解码后的内容或者包层面的统计数据. 这些工具在最底层对网络进行监控、管理, 同样的也能进行最细粒度的监控, 其代价是影响网络I/O和分析的过程.

编号工具描述

1dhcpdump

一个命令行式的DHCP流量嗅探工具, 捕捉DHCP的请求/回复流量, 并以用户友好的方式显示解码的DHCP协议消息. 这是一款排查DHCP相关故障的实用工具.

2dsniff

一个基于命令行的嗅探、伪造和劫持的工具合集,被设计用于网络审查和渗透测试. 它可以嗅探多种信息, 比如密码、NSF流量(LCTT 译注:此处疑为 NFS 流量)、email消息、网络地址等

3httpry

一个HTTP报文嗅探器, 用于捕获、解码HTTP请求和回复报文, 并以用户友好的方式显示这些信息. (LCTT 译注:延伸阅读.)

4IPTraf

基于命令行的网络统计数据查看器. 它实时显示包层面、连接层面、接口层面、协议层面的报文/字节数. 抓包过程由协议过滤器控制, 且操作过程全部是菜单驱动的

5MySQL-sniffer

一个用于抓取、解码MySQL请求相关的数据包的工具。它以可读的方式显示最频繁或全部的请求

6ngrep

在网络报文中执行grep。它能实时抓取报文,并用正则表达式或十六进制表达式的方式匹配(过滤)报文。它是一个可以对异常流量进行检测、存储或者对实时流中特定模式报文进行抓取的实用工具

7p0f

一个被动的基于包嗅探的指纹采集工具,可以可靠地识别操作系统、NAT或者代理设置、网络链路类型以及许多其它与活动的TCP连接相关的属性

8pktstat

一个命令行式的工具, 通过实时分析报文, 显示连接带宽使用情况以及相关的协议(例如,HTTP GET/POST、FTP、X11)等描述信息

9Snort

一个入侵检测和预防工具,通过规则驱动的协议分析和内容匹配,来检测/预防活跃流量中各种各样的后门、僵尸网络、网络钓鱼、间谍软件攻击

10tcpdump

一个命令行的嗅探工具, 可以基于过滤表达式抓取网络中的报文, 分析报文, 并且在包层面输出报文内容以便于包层面的分析. 它在许多网络相关的错误排查、网络程序debug、或安全监测方面应用广泛

11tshark

一个与Wireshark窗口程序一起使用的命令行式的嗅探工具. 它能捕捉、解码网络上的实时报文, 并能以用户友好的方式显示其内容.

2 流/进程/接口层面的监控

、相关进程或接口分类, 收集每个流、每个进程、每个接口的统计数据. 其信息的来源可以是libpcap抓包库或者sysfs内核虚拟文件系统. 这些工具的监控成本很低, 但是缺乏表层面的检视能力

 

Linux下网络流量常用那些监控工具

 

 

编号工具描述

1bmon

一个基于命令行的带宽监测工具, 可以显示各种接口相关的信息, 不但包括接收/发送的总量/平均值统计数据, 而且拥有历史带宽使用视图

2iftop

一个带宽使用监测工具,可以实时显示某个网络连接的带宽使用情况。它对所有带宽使用情况排序并通过ncurses的接口来进行可视化。他可以方便的监控哪个连接消耗了最多的带宽. (LCTT 译注:延伸阅读)

3nethogs

一个基于ncurses显示的进程监控工具,提供进程相关的实时的上行/下行带宽使用信息。它对检测占用大量带宽的进程很有用.

4netstat

一个显示许多TCP/UDP的网络堆栈的统计信息的工具。诸如打开的TCP/UDP连接书、网络接口发送/接收、路由表、协议/套接字的统计信息和属性. 当您诊断与网络堆栈相关的性能、资源使用时它很有用

5speedometer

一个可视化某个接口发送/接收的带宽使用的历史趋势,并且基于ncurses的条状图进行显示的终端工具

6sysdig

一个可以通过统一的界面对各个linux子系统进行系统级综合性调试的工具。它的网络监控模块可以监控在线或离线、许多进程/主机相关的网络统计数据,例如带宽、连接/请求数等. (LCTT 译注:延伸阅读.)

7tcptrack

一个TCP连接监控工具,可以显示活动的TCP连接,包括源/目的IP地址/端口、TCP状态、带宽使用等.

8vnStat

一个存储并显示每个接口的历史接收/发送带宽视图(例如,当前、每日、每月)的流量监控器。作为一个后台守护进程,它收集并存储统计数据,包括接口带宽使用率和传输字节总数. (LCTT 译注:延伸阅读.)

9nloadnload

默认分为上下两块, 上半部分是 : Incoming也就是进入网卡的流量, 下半部分是 : Outgoing,也就是从这块网卡出去的流量, 每部分都有当前流量(Curr), 平均流量(Avg), 最小流量(Min), 最大流量(Max)

3 主动网络监控器

不同于前面提到的被动的监听工具,这个类别的工具们在监听时会主动的“注入”探测内容到网络中,并且会收集相应的反应。监听目标包括路由路径、可供使用的带宽、丢包率、延时、抖动(jitter)、系统设置或者缺陷等。

编号工具描述

1DNSyo一个DNS

检测工具, 能够管理跨越多达1500个不同网络的开放解析器的DNS查询. 它在您检查DNS传播或排查DNS设置的时候很有用

2iperf一个TCP/UDP

它通过在两个主机间单向或双向的输出TCP/UDP探测流量来测量可用的带宽. 它在监测网络容量、调谐网络协议栈参数时很有用. 一个叫做netperf的变种拥有更多的功能及更好的统计数据.

3netcat/socat

通用的网络调试工具,可以对TCP/UDP套接字进行读、写或监听。 它通常和其他的程序或脚本结合起来在后端对网络传输或端口进行监听. (LCTT 译注:延伸阅读.)

4nmap

。它依赖于若干基于TCP/UDP的扫描技术来查找开放的端口、活动的主机或者在本地网络存在的操作系统。它在你审查本地主机漏洞或者建立维护所用的主机映射时很有用. zmap是一个类似的替代品,是一个用于互联网范围的扫描工具. (LCTT 译注:延伸阅读.)

5ping

通过交换ICMP的echo和reply报文来实现其功能。它在测量路由的RTT、丢包率以及检测远端系统防火墙规则时很有用。ping的变种有更漂亮的界面

6sprobe

一个启发式推断本地主机和任意远端IP地址之间的网络带宽瓶颈的命令行工具. 它使用TCP三次握手机制来评估带宽的瓶颈。它在检测大范围网络性能和路由相关的问题时很有用.

7traceroute

一个能发现从本地到远端主机的第三层路由/转发路径的网络发现工具. 它发送限制了TTL的探测报文,收集中间路由的ICMP反馈信息. 它在排查低速网络连接或者路由相关的问题时很有用. traceroute的变种有更好的RTT统计功能(例如,mtr).

4 应用日志解析器

在这个类别下的网络监测器把特定的服务器应用程序作为目标(例如,web服务器或者数据库服务器). 由服务器程序产生或消耗的网络流量通过它的日志被分析和监测。不像前面提到的网络层的监控器,这个类别的工具能够在应用层面分析和监控网络流量.

编号工具描述

1GoAccess

ApacheNginx服务器流量的交互式查看器。基于对获取到的日志的分析,它能展示包括日访问量、最多请求、客户端操作系统、客户端位置、客户端浏览器等在内的多个实时的统计信息,

2mtop

一个面向MySQL/MariaDB服务器的命令行监控器,它可以将成本最大的查询和当前数据库服务器负载以可视化的方式显示出来。它在您优化MySQL服务器性能、调谐服务器参数时很有用.

3ngxtop

一个面向Nginx和Apache服务器的流量监测工具,能够以类似top指令的方式可视化的显示Web服务器的流量. 它解析web服务器的查询日志文件并收集某个目的地或请求的流量统计信息

5 图形界面工具

编号工具描述

Linux下网络流量常用那些监控工具

 

 

1MonitMonit

是一个Linux/UNIX系统上开源的进程、文件、目录和文件系统监控和管理工具,可自动维护和修复一些错误的情况.

2GangliaGanglia

它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数据存储和可 视化。它利用精心设计的数据结构和算法实现每节点间并发非常低的。它已移植到广泛的操作系统和处理器架构上,

3MuninMunin

是一个非常好用安装和设置方便的监测软件在英文中的意思是仙人掌的意思,Cacti是一套基于php,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。

5NagIOSNagios

Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等, Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,

6zabbixzabbix

是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.

7ObserviumObservium

Linux系统的网络监控工具,而是包括了主要的网络硬件和操作系统的广泛支持。 Observium发展出来的一种轻松缺乏使用NMSes。

8ZenossZenoss Core

是开源企业级IT管理软件-是智能监控软件,他允许IT管理员依靠单一的WEB控制台来监控网络架构的状态和健康度。Zenoss Core同时也是开源的网络与系统管理软件.

9Collectdcollectd

是一个守护(daemon)进程,用来收集系统性能和提供各种存储方式来存储不同值的机制。比如以RRD 文件形式

当系统运行和存储信息的时候,Collectd会周期性统计系统的相关统计信息。那些信息可以用来找到当前系统性能瓶颈. (如作为性能分析 performance analysis)和预测系统未来的load(如能力部署capacity planning).如果你需要美观的图形来显示您的数据,并且已经厌烦了内部解决方案,恭喜您,你找到了正确的地方.

10ArgusArgus

是一个网络连接监控器,可以利用它来定制监控网络中符合某种条件的计算机,例如网络空线、断开等.

 

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>