如何找出导致过多传入流量的原因?

如何找出导致过多传入流量的原因?

在具有 nginx/apache(反向代理设置)的简单 Web 服务器配置(CentOS 7)上,我在一个 NIC(eth0)上有大量传入流量。

1. 有没有办法找出导致它的原因或“它到达哪里”?

没有运行 FTP、邮件或 DB 服务。DB(MongoDB 和 MySQL)位于不同的服务器上,并且连接位于不同的 NIC(eth1)上。

eth0 是公用的,而 eth1 连接到没有外部访问权限的私有交换机。有一个防火墙,对于 eth0,只有端口 80、443 和 22 是开放的。Fail2ban 每天禁止几百个 IP(尝试通过 ssh 登录),但这与我的其他服务器类似。

2. 如果有人向任意端口(即 555)发送任意数据(防火墙应该阻止该端口),vnstat 是否仍会记录所有数据,还是仅记录标头的大小而拒绝其余数据?

我在服务器上找不到任何可疑文件。该网站不提供任何上传机制。

我正在用 vnstat 记录流量。过去 24 小时的情况如下:

 h  rx (MiB)   tx (MiB)      h  rx (MiB)   tx (MiB)      h  rx (MiB)   tx (MiB) 
13    4045.50    6184.14    21    2683.89    4172.90    05    1652.97    1226.57
14    3210.47    4768.60    22    2923.88    3303.21    06    1473.85    1686.85
15    3310.31    5880.16    23    1850.60    1909.20    07    1506.75    3185.17
16    3697.05    5347.17    00    1924.60    1544.29    08    2412.61    3972.74
17    2656.44    4270.50    01    3103.59    2019.04    09    2602.51    5185.76
18    1889.34    4209.50    02    1890.90    1014.04    10    3353.67    6353.20
19    1679.18    5564.48    03    2502.21    1197.43    11    1792.24    6760.07
20    2661.70   14444.84    04    2187.66    1089.72    12     571.53    1852.97

在晚上,在这种情况下是午夜到凌晨 5 点(UTC)之间,传入流量甚至超过传出流量,这对我来说没有多大意义 - 它仍然只是一个网站。

tcpdump 显示端口 443 上有很多活动,而端口 80 上则少得多,但长度几乎总是 0。有时会有几个字节,但这不足以弥补每小时几 GB 的流量。端口 22 上几乎没有任何活动。

tcpdump -l -n -i eth0 dst port 443 and inbound

12:40:50.682931 IP 1.2.3.4.13416 > 1.2.3.4.http: 
Flags [.], ack 173761, win 428, options [nop,nop,TS val 223856478 ecr 281640876], length 0

我想找出此流量的来源或原因并以某种方式将其锁定。

相关内容