插件窝 干货文章 linux怎么检测流量来自哪里

linux怎么检测流量来自哪里

流量 sudo install 使用 451    来源:    2025-04-14

Linux 流量来源检测方法

在Linux系统中,有几种有效的方法可以检测网络流量的来源。以下是常用的几种方法:

1. 使用iftop工具

iftop是一个实时流量监控工具,可以显示网络连接的来源和目的地。

sudo apt install iftop  # Debian/Ubuntu
sudo yum install iftop  # CentOS/RHEL

sudo iftop -i eth0  # 替换eth0为你的网卡名

iftop会显示: - 源IP地址 - 目标IP地址 - 实时流量速率 - 累计传输量

2. 使用nethogs

nethogs按进程显示网络流量:

sudo apt install nethogs  # Debian/Ubuntu
sudo yum install nethogs  # CentOS/RHEL

sudo nethogs eth0

3. 使用iptables记录流量

可以通过iptables规则记录特定流量:

# 记录所有进入的流量
sudo iptables -I INPUT -j LOG --log-prefix "INCOMING: "

# 记录所有出去的流量
sudo iptables -I OUTPUT -j LOG --log-prefix "OUTGOING: "

# 查看日志
sudo tail -f /var/log/syslog | grep -i "INCOMING\|OUTGOING"

4. 使用tcpdump抓包分析

sudo tcpdump -i eth0 -n
# 更详细的抓包
sudo tcpdump -i eth0 -nn -v

5. 使用netstat或ss命令

# 显示所有活动连接
netstat -tulnp
# 或使用更现代的ss命令
ss -tulnp

6. 使用vnstat进行流量统计

vnstat可以记录和显示网络流量统计:

sudo apt install vnstat  # Debian/Ubuntu
sudo yum install vnstat  # CentOS/RHEL

# 初始化数据库
sudo vnstat -u -i eth0

# 查看实时流量
vnstat -l -i eth0

# 查看每日统计
vnstat -d

7. 使用iftraf进行流量分析

sudo apt install iftraf  # Debian/Ubuntu
sudo yum install iftraf  # CentOS/RHEL

sudo iftraf -i eth0

选择哪种方法取决于你的具体需求: - 实时监控:iftop、nethogs - 长期统计:vnstat - 深度分析:tcpdump - 连接查看:netstat/ss

如果需要更专业的解决方案,可以考虑部署专门的网络监控系统如ntopng、Zabbix或PRTG等。