如何使用 Linux 内核来监控正在发生的事情,关于新连接、新端口、连接的主机?就像我要做一个新的嗅探器一样。我应该监视哪些文件以了解发生了什么。
例如,如果服务器没有 ssh 连接,则使用端口 22 连接新主机,我希望对此新连接发出警报。如果主机断开连接,则会运行另一个警报。
答案1
有点模糊,但是... Netstat 显示本地计算机当前打开的连接的状态, /proc/net 中有一些东西你可以做一些聪明的“实时”东西,或者有像 tcpdump 这样的程序可以给你原始数据包日志(如果您对更具体的事情感兴趣,可以创建一个过滤器),以及用于数据包日志分析的wireshark等工具。您的目标/确切/是什么,可能有助于提供更好的建议。
答案2
如果只是为了即时查看连接的 IP 以及哪个连接正在生成网络流量,您可以尝试iptraf
。
如果您想要更多功能,例如会计、图表和远程监控,您可以尝试 ntop
。 Ntop
作为守护进程运行,通过浏览器在 localhost:3000 进行监视和管理。