如何通过ip,端口,时间logging所有对我的机器的访问?

今天,我发现我的VPS昨晚高负荷: 在这里输入图像说明

这使得我的VPS受到服务提供商的限制。 因为这个VPS是我个人的用法,所以当我睡觉时,大的networking连接是不可能的。但是我没有find关于这个的系统日志。

我search了很长时间,很多文章只讲日志特定的端口: 如何logging试图连接到一个端口的IP地址?

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

有什么办法(服务?)在什么时候logging什么ip接入什么端口?

iptables有一个日志function,你可以使用,而不是阻止或允许,就像这样:

  iptables -A INPUT -p tcp -j LOG 

或者先login,然后再login:

 iptables -I INPUT 1 -p top -j LOG 

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

Ufw和Firewalld可能会为您提供额外的function,以及其他解决scheme。

就我所知,Netcat实际上会听你指定的端口,而不是只logging它们,所以我不认为这是你需要的理想工具。 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