Firewall logs cluster around two shapes: UFW's [UFW BLOCK] entries and iptables' DROP/ACCEPT prefixed lines, both stuffed with SRC= DST= PROTO= SPT= DPT= tokens. Firewall Log Analyzer pulls the signal out of either format — action, protocol, endpoints, ports, and interface — into aligned rows.
Ranked sources, destinations, and destination ports immediately expose repeated scan patterns and the services they were probing, while the action summary shows the allow/block split.
Under the hood, each line is first stripped of an optional leading timestamp and hostname (either syslog-style Jun 11 14:00:01 host kernel: or ISO 2025-06-11T14:00:01 host kernel:), then the remaining body is checked for a bracketed action like [UFW BLOCK] — the last word inside the brackets becomes the action — or, failing that, a bare leading token such as DROP, REJECT or ACCEPT the way plain iptables LOG rules emit it. Whatever is left is scanned for KEY=VALUE pairs, so IN=, OUT=, SRC=, DST=, PROTO=, SPT= and DPT= are picked up regardless of their order or which other keys (MAC, LEN, TOS, TTL, flags like SYN/ACK) sit alongside them. Lines that carry none of kernel:, IN=, SRC=, DST= or PROTO= are skipped rather than misparsed, so pasting a mixed syslog dump only pulls out the actual firewall events.