nft-dropmon profile is similar to the dropmon profile, but specifically designed for netfilter drops. It provides detailed information about which nftables rules are dropping packets.
What it enables
Probes
kprobe:__nft_trace_packet/stack- Traces the internal netfilter tracing function with stack trace collection
Collectors
The nft-dropmon profile enables collectors specific to netfilter analysis:nft- Netfilter/nftables verdict and rule informationskb- Socket buffer metadata (packet headers, addresses)dev- Device/interface informationns- Network namespace information
Configuration
The profile is configured to filter for drop verdicts only:nft_verdicts: drop- Only capture events where the verdict is “drop”
This profile requires
--allow-system-changes or compatible netfilter configuration to enable packet tracing. See retis collect --help for more details.Usage
Basic collection
Collect and store for later analysis
Generate pcap from stored events
The same profile can be used with both the
collect and pcap commands, making it easy to analyze firewall drops in Wireshark.Use cases
- Firewall debugging: Understanding why legitimate traffic is being blocked
- Policy validation: Verifying nftables rules work as intended
- Security analysis: Identifying blocked attack attempts
- Rule optimization: Finding which rules are causing drops
Example output
The nft-dropmon profile captures detailed netfilter information:- A TCP SYN packet from
172.16.42.1:52294to172.16.42.2:8080was dropped - The drop occurred in the
firewalldtable, chainfilter_IN_FedoraServer - The rule handle is
215, making it easy to identify the exact rule - The stack trace shows the packet path through netfilter
Correlating with nftables rules
You can use the handle number from the output to find the exact rule:215 corresponds to a reject rule, explaining why the packet was dropped.
Understanding the output
Verdict information: Shows which table, chain, and rule (by handle) made the drop decision. Stack trace: Reveals the netfilter hook point where the packet was evaluated. Packet details: Full packet headers help understand what traffic is being blocked. Rule handle: Direct reference to the nftables rule for easy identification.When to use nft-dropmon
Choose the nft-dropmon profile when:- You’re using nftables (not iptables-legacy)
- You need to debug firewall rules
- Packets are being blocked unexpectedly
- You want to audit which rules are actively dropping traffic
- You need to optimize or troubleshoot netfilter policies
