如何在 OpenWRT 中记录连接?

如何在 OpenWRT 中记录连接?

我有一个使用 OpenWRT 配置的公共网络。

如何记录流经公共网络的所有连接(而不是流量)?

我需要这些条目:

  • 源MAC地址
  • 源/目标 IP
  • 时间
  • 目标主机名(如果可能)
  • 如果可能,请提供源主机名

答案1

您可以使用防火墙中的日志规则来执行此操作。这将产生大量流量,因此您可能希望将日志发送到另一台服务器。默认记录器可能会截断日志,因此您可能需要安装另一个记录器,例如 syslog-ng,正如我在OpenWRT syslog-ng 安装。您不会获得主机名,因为在路由它们时它们已被转换为 IP 地址。

您可能想要使用 Shorewall 或 Shorewall-lite 为您生成防火墙。

如果您担心记录网络流量,那么您可能需要使用 Squid 或其他可以记录所有访问的代理。不过您的 Open-WRT 路由器可能不会运行它。

答案2

ssh 进入路由器

logread | grep -A 10 authenticated

Wed Jun  3 21:15:20 2015 daemon.info hostapd: wlan0: STA e0:xx:xx:xx:xx:xx IEEE 802.11: authenticated
Wed Jun  3 21:15:20 2015 daemon.info hostapd: wlan0: STA e0:xx:xx:xx:xx:xx IEEE 802.11: associated (aid 1)
...
Wed Jun  3 21:15:20 2015 daemon.info hostapd: wlan0: STA DHCPREQUEST(br-lan) 192.168.0.13 e0:xx:xx:xx:xx:xx

了解如何使用logread -rsyslog-ng 或 syslog-ng 发送到远程服务器(http://wiki.openwrt.org/doc/howto/log.syslog-ng

也可以看看:

相关内容