Skip to main content

云服务器网络流量监控指南

· 5 min read
Yorian Chiong
Markdown中文 maintainer

本文介绍如何在 Linux 系统中监控网络流量,包括实时带宽、历史统计、按进程分析等方法。 适用于 Ubuntu、Debian 等主流发行版。

概述

在 Linux 系统下进行网络流量监控有多种方式,从轻量级命令行工具到图形化可视化分析平台。 常见需求包括:

实时监控 当前带宽和连接; 历史记录 分析网络使用趋势; 按进程统计 各程序带宽消耗; 安全分析 检查异常连接或流量峰值。

基础监控工具

ifconfig命令

ifconfig是一款基本的网络配置和流量监控工具。它能够显示网络接口的详细信息,包括IP和MAC地址,还有接收与发送的数据包数量。通过ifconfig,我们能快速了解网络接口的运行情况。一旦发现数据包数量出现异常,可能表明网络存在某些问题。发送的数据包数量不断增加,但接收到的数据包却很少,这可能表明网络连接不稳定,存在问题。

不过,这个指令仅能展示当前网络状况。若想观察一段时间内的流量变化,还需结合其他指令。对于网络新手,能帮助你初步认识网络接口的工作情况。

实时流量分析

问题是抓住瞬时流量及相关进程

nethogs命令

nethogs 是最常用的 按进程流量监控工具,能实时显示每个程序的网络使用情况。

sudo apt install nethogs

sudo nethogs

交互说明:

  • q 退出
  • m 切换显示单位
  • s 排序模式切换

适用于排查哪个程序在“偷跑流量”。

iftop命令

iftop 可显示每个远程连接的带宽使用(类似于 “top” 命令监控 CPU)。

sudo apt install iftop
sudo iftop -i wlp3s0

界面说明:

  • 左侧为本机地址,右侧为远端主机;
  • 实时显示发送和接收速率;
  • 支持按主机或端口过滤。

图形化监控工具

Sniffnet

Sniffnet 是一款现代化的跨平台图形化网络分析工具,支持 Linux,Windows 和 MacOS。

安装示例(Debian/Ubuntu):

sudo apt install ./Sniffnet_LinuxDEB_amd64.deb
sniffnet

特点:

  • 友好的 GUI;
  • 按应用、主机、协议分类;
  • 可导出流量报告。

日志查看

find命令

find命令用于在文件系统中搜索符合条件的文件或目录。基本语法如下:

find [搜索路径] [搜索条件] [动作]

例如,搜索/home/user目录下所有.txt文件:

find /home/user -name "*.txt"

但是等等!如果其中一些扩展名是大写怎么办? -iname 类似于 -name,但不区分大小写:

find ~ -iname '*jpg'

grep命令

使用grep查找某目录下包含关键字内容的文件

grep -r “{关键字}” {路径}

例如:

grep -r "data"  /data/notes/

声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。