如何通过 ip、端口、时间记录对我的机器的所有访问?

如何通过 ip、端口、时间记录对我的机器的所有访问?

今天,我发现我的 vps 昨晚负载很高: 在此处输入图片描述

导致我的vps被服务商限制了,因为这个vps是我自己用的,睡觉的时候无法进行大网速,但是我没有找到这方面的系统日志。

我找了好久,很多文章只讲日志具体的端口: 如何记录尝试连接到端口的 IP 地址?

其他人正在使用netstat(或类似的东西)在命令行中显示当前访问。

有什么方法(服务?)来记录什么时间什么 IP 访问什么端口?

答案1

Iptables 具有日志记录功能,您可以使用它来代替阻止或允许,如下所示:

   iptables -A INPUT -p tcp -j LOG

或者先记录,然后再做其他事情:

iptables -I INPUT 1 -p top -j LOG

前缀和其他自定义也可用。输出将在您的内核日志记录工具上,例如消息文件,您也可以使用 syslogng、rsyslog 或您的发行版所使用的文件进行更改。

Ufw 和firewalld 可能为您提供额外的功能以及其他解决方案。

据我所知,Netcat 实际上会监听您指定的端口,而不仅仅是记录它们,因此我认为这不是满足您需求的理想工具。Tcpdump 可能更好:

tcpdump -no eth0 -w logfile.log not port 22 and not host 1.1.1.1 and not net 192.168.0.0/16

相关内容