摘要
本文部分内容来源于网络,个人收集整理,请勿传播
碰到网络问题的场景。可以使用一些命令来快速定位问题,而能够用来排查网络问题的命令多种多样。
本文以以下几个维度来筛选出一些网络相关的命令仅供大家参考
- 尽量常用系统覆盖全面(centos/ubuntu/)
- 使用简单,安装即用
- 显示明了,快速定位
推荐命令如下
- 查看进程流量:nethogs
- 查看明细流量以及总流量:iptraf
- 查看历史数据:sar
- 生成报表:dstat
原理解析
- 使用pcap库来捕获进出网络适配器的数据包,然后汇总数据包大小和数量,搞清楚总的带宽使用情况
- 基于pcap库,能够过滤流量
- 读取
/proc/net/dev
文件
nethogs
小巧的net top
工具,可以显示每个进程所使用的带宽,并对列表排序。有带宽激增的情况出现可以用来快速定位。
- 原理:进程监控
- 使用难度:简单
- 优势:显示进程使用带宽
- 缺陷:-
- 推荐指数:**
iptraf
交互式、色彩鲜艳的IP局域网监控工具。
- 可以显示单个网卡,每个连接的流量
- 可以按照网卡显示实时总流量
- 可以按照网卡区分tcp、udp、icmp等流量汇总
- 可以按照包大小显示
- 可以按照单个网卡的端口显示流量
- 可以按照硬件网络接口显示
- 原理:使用pcap库
- 使用难度:交互式,简单
- 优势:功能强大
- 缺陷:无法静态输出
- 推荐指数:*
nload
命令行工具,可以按照网卡显示当前进、出流量的实时流量(包括最大、最小、平均值),可以绘制简单的流量图表。
- 原理:读取
/proc/net/dev
文件 - 使用难度:简单
- 优势:显示总流量
- 缺陷:-
- 推荐指数:**
bwm-ng
功能类似于nload,没有最大、最小、平均值显示,但是支持条形图显示
- 原理:读取
/proc/net/dev
文件 - 使用难度:简单
- 优势:显示总流量,条形图显示
- 缺陷:没有最大、最小、平均值
- 推荐指数:**
bwm-ng -o curses2
iftop
可以显示当前每一个连接的流量数据
- 原理:使用pcap库
- 使用难度:简单
- 优势:过滤流量
- 缺陷:无法显示进程号等
- 推荐指数:**
n选项可以防止iftop将IP地址解析成主机名,解析本身就会带来额外的网络流量。
dstat
用python语言编写,可以监控系统的不同统计信息,并使用批处理模式来报告,或者将相关数据记入到CSV或类似的文件。
- 原理:-
- 使用难度:参数多,可定制,难度一般
- 优势:不仅可以显示流量,还可以显示系统其它指标,如:vmstat、sar、collectl等
- 缺陷:只能显示实时总流量
- 推荐指数:**
sar
sar(System ActivityReporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:
- 文件的读写情况
- 系统调用的使用情况
- 磁盘I/O
- CPU效率
- 内存使用状况
- 进程活动及IPC有关的活动等
- 原理:需要启动sysstat服务
- 使用难度:参数多,可定制
- 优势:可以显示历史数据,可以静态输出
- 缺陷:依赖服务,历史数据颗粒度差
- 推荐指数:*
查看实时流量
查看某一天的历史数据