The packet tester tells you what the active firewall does with a given packet — accepted, rejected or dropped — and which rule decides. It reads the rules actually applied in the kernel: nothing is sent and nothing is changed.
Go to Your Firewall › Firewall rules and click Test a packet:
| Field | Meaning |
|---|---|
| Direction | Arriving: a packet that reaches the appliance, or that is routed through it. Sent by the appliance: a connection opened by the appliance itself (DNS, updates…). |
| Source / Destination | IPv4 addresses. For a packet sent by the appliance, leave the source empty: the address of the outgoing interface is used. |
| Protocol / Port | TCP or UDP with the destination port, or ICMP (ping). |
| Network interface | Automatic: the interface the routing table uses to reach the source. Choose it explicitly to test traffic arriving on another interface. |
The tested packet is the first packet of a new connection. A few conditions cannot be decided for a single packet; the result then shows Uncertain and lists the rules concerned:
Rules that only act on floods — the Anti-DDoS connection limits, the connection limits of a rule, the counting of the automatic blocking — are listed separately: the verdict assumes normal traffic.
A firewall rule can expire: in the rule form, choose Expires — 1 hour to 30 days. When the delay has passed, the rule is disabled automatically (never deleted) and the administrators are notified. See Firewall rules.
POST /firewall/test-packet
{"direction":"in","src":"203.0.113.7","dst":"192.168.1.29","proto":"tcp","dport":22,"in_iface":""}
The answer gives verdict, certain, decided_by (table, chain, line, rule, rule_id, rule_name), translated, path, uncertain and rate_dependent. See Firewall REST API.
Enter IPv6 addresses to test an IPv6 packet; source and destination must be of the same version. When IPv6 filtering is off, the tester says that all IPv6 traffic is accepted, except by the CrowdSec and SSH black lists.