作为IT工程师,监测和分析Linux系统的网络流量是日常运维和故障排查的重要工作。以下是几种常用的方法和工具:
# 查看网络接口基本信息
ifconfig
# 或使用更现代的ip命令
ip -s link
# 查看网络连接统计
netstat -s
# 查看各接口流量统计
netstat -i
# 查看socket统计
ss -s
# 安装
sudo apt install iftop # Debian/Ubuntu
sudo yum install iftop # CentOS/RHEL
# 使用
sudo iftop -i eth0
# 安装
sudo apt install nload
sudo yum install nload
# 使用
nload eth0
# 安装
sudo apt install bmon
sudo yum install bmon
# 使用
bmon
# 安装
sudo apt install nethogs
sudo yum install nethogs
# 使用
sudo nethogs eth0
# 安装和配置
sudo apt install vnstat
sudo vnstat -u -i eth0
sudo systemctl enable vnstat
sudo systemctl start vnstat
# 查看统计
vnstat -d # 每日
vnstat -m # 每月
vnstat -h # 每小时
# 安装
sudo apt install iptraf-ng
sudo yum install iptraf-ng
# 使用
sudo iptraf-ng
# 捕获eth0接口的流量
sudo tcpdump -i eth0
# 捕获特定主机的流量
sudo tcpdump host 192.168.1.100
# 捕获HTTP流量
sudo tcpdump -i eth0 port 80 -w http.pcap
# 安装
sudo apt install wireshark tshark
sudo yum install wireshark tshark
# 使用tshark
sudo tshark -i eth0
# 在一台机器上启动服务器端
iperf3 -s
# 在另一台机器上测试到服务器的带宽
iperf3 -c server_ip
# 安装
pip install speedtest-cli
# 使用
speedtest-cli
# 安装
sudo apt install ntopng
sudo yum install ntopng
# 配置
sudo systemctl start ntopng
# 然后通过浏览器访问 http://localhost:3000
# 安装node_exporter
wget https://github.com/prometheus/node_exporter/releases/download/v*/node_exporter-*.*-amd64.tar.gz
tar xvfz node_exporter-*.*-amd64.tar.gz
cd node_exporter-*.*-amd64
./node_exporter
cat /proc/net/dev
cat /sys/class/net/eth0/statistics/rx_bytes
cat /sys/class/net/eth0/statistics/tx_bytes
#!/bin/bash
INTERFACE="eth0"
LOG_FILE="/var/log/network_traffic.log"
while true; do
RX_BYTES=$(cat /sys/class/net/${INTERFACE}/statistics/rx_bytes)
TX_BYTES=$(cat /sys/class/net/${INTERFACE}/statistics/tx_bytes)
TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S")
echo "${TIMESTAMP} - RX: ${RX_BYTES} bytes | TX: ${TX_BYTES} bytes" >> ${LOG_FILE}
sleep 5
done
根据不同的需求场景,可以选择合适的工具组合: - 快速查看当前流量:iftop、nload - 按进程查看流量:nethogs - 长期统计:vnstat - 深度分析:tcpdump/Wireshark - 可视化监控:ntopng或Grafana
对于生产环境,建议结合多种工具使用,并设置自动化监控和告警机制。