在 CentOS 上监控 FileZilla 流量的实用方案
一 按进程实时监控带宽占用
- 使用 nethogs(按进程显示带宽,最直观):
- 安装:sudo yum install -y epel-release && sudo yum install -y nethogs
- 运行:sudo nethogs eth0(将 eth0 替换为你的实际网卡)
- 观察界面中名为 filezilla 的进程行,可实时看到该进程的上传/下载速率与累计流量。
- 使用 iftop 观察连接带宽(按连接/主机维度):
- 安装:sudo yum install -y iftop
- 运行:sudo iftop -i eth0 -P
- 说明:iftop 默认不按进程统计,但可结合筛选快速定位 FileZilla 相关连接(如目标端口、远端主机),再配合 nethogs 精确确认进程带宽。
二 按端口与协议抓包分析
- 使用 tcpdump 抓取与 FileZilla 相关的数据包:
- 主动/被动 FTP 控制通道:sudo tcpdump -i eth0 -nn port 21
- FTP 被动模式数据端口范围(示例为常见的 50100–52100):sudo tcpdump -i eth0 -nn portrange 50100-52100
- 如需写入文件以便后续分析:sudo tcpdump -i eth0 -nn port 21 -w ftp_control.pcap
- 提示:若使用 FTPS/SFTP,控制通道会变为 990/TCP(FTPS)或由 SSH 承载(SFTP 端口 22/TCP),请相应调整抓包过滤条件。
三 用防火墙计数器统计流量
- 使用 iptables 计数器按端口/方向统计(适合“累计多少数据”的诉求):
- 示例(统计入站 FTP 控制流量):sudo iptables -I INPUT -p tcp --dport 21 -j ACCEPT
- 查看计数:sudo iptables -L -v -n(关注 pkts、bytes 列)
- 清空计数:sudo iptables -Z
- 使用 nftables(CentOS 8+/RHEL 8+ 推荐):
- 示例:sudo nft add rule inet filter input tcp dport 21 counter
- 查看计数:sudo nft list ruleset
- 说明:firewalld 本身不直接提供流量统计,可结合 iptables/nftables 计数器实现按规则/端口的累计流量观测。
四 图形界面与日志的补充
- 若你在 CentOS 上运行的是 FileZilla Server(而非客户端),可在 FileZilla Server 管理器 → 日志 中启用并查看 连接日志 与 传输日志,从应用层核对传输状态、用户与文件信息。
- 若你在本地使用 FileZilla 客户端 连接服务器,可在客户端界面的 消息日志 查看连接、目录列表与传输过程,用于与系统层监控结果交叉验证。
五 快速选择建议
- 需要“此刻哪个进程最占带宽”:优先用 nethogs。
- 需要“按连接/远端主机看带宽分布”:用 iftop,必要时配合 nethogs 确认进程。
- 需要“精确统计某端口/方向的累计流量”:用 iptables/nftables 计数器。
- 需要“深入分析协议细节/重放分析”:用 tcpdump 抓包。