监控FTP服务器流量对于性能优化、安全审计和计费都非常重要。以下是几种有效的监控方法:
iftop是一个实时网络流量监控工具,可以按连接显示带宽使用情况。
sudo apt install iftop # Debian/Ubuntu
sudo yum install iftop # CentOS/RHEL
# 监控FTP流量(通常端口21或20)
sudo iftop -P -f "port 21 or port 20"
nload可以显示网络设备的实时流量统计。
sudo apt install nload # Debian/Ubuntu
sudo yum install nload # CentOS/RHEL
nload
sudo apt install vnstat # Debian/Ubuntu
sudo yum install vnstat # CentOS/RHEL
# 初始化数据库
sudo vnstat -u -i eth0
# 查看统计
vnstat
如果使用vsftpd,可以配置详细日志:
# 编辑/etc/vsftpd.conf
xferlog_enable=YES
xferlog_std_format=NO
log_ftp_protocol=YES
日志通常位于/var/log/vsftpd.log
# 添加规则统计FTP流量(端口21)
sudo iptables -A INPUT -p tcp --dport 21
sudo iptables -A OUTPUT -p tcp --sport 21
# 查看统计
sudo iptables -L -v -n
简单的bash脚本示例:
#!/bin/bash
IFACE="eth0"
FTP_PORT="21"
echo "Monitoring FTP traffic on port $FTP_PORT..."
sudo tcpdump -i $IFACE -n "port $FTP_PORT" | awk '{print $1, $3, $5, $8}'
local_max_rate
和anon_max_rate
)以上方法可以根据您的具体需求和FTP服务器配置进行组合使用。