Created on
10-27-2025
10:40 PM
Edited on
11-10-2025
07:26 AM
By
Stephen_G
| Description | This article describes that Sniffer shows no live packets, but the counter increases on stopped. |
| Scope | FortiGate. |
| Solution |
On the source FortiGate, approximately 1000 packets are captured using a host A ↔ host B filter.
On the destination FortiGate, the live sniffer displays no traffic; however, after the sniffer is stopped, a small non-zero packet count is reported. There are two counters at the end of a sniffer. 'Packets received by filter' is the total amount of packets which hit the filter. 'packets dropped by kernel' are packets included in the previous total, but which were not shown for whatever reason. This is not due to the NPU. Packets which are handled by the NPU do not make it to the kernel in the first place, and are not included in this value. Potential root causes and what to try:
Before sniffing:
config system console
set output standard
set line-edit disable
end
Run the sniffer with DNS disabled so output flows freely:
diagnose sniffer packet any 'host <SRC> and host <DST>' 3 0 n
Quick checks:
get system status | grep -i vdom
get system interface | grep -e port -e vlan -e aggregate
Switch to the correct VDOM, then run:
config vdom
edit <vdom>
end
diagnose sniffer packet any 'host <SRC> and host <DST>' 3 0 n
Try binding to the exact interface (e.g., port1, port1.100, agg1), not only 'any'.
Workarounds:
Temporarily force the session through CPU using a test policy (only for validation):
config firewall policy
edit <ID_of_matching_policy>
set np-acceleration disable
set auto-asic-offload disable
next
end
Mitigations:
Use verbosity 3 (headers) rather than 4/6 (payload), and disable DNS resolution:
diagnose sniffer packet any 'host <SRC> and host <DST>' 3 0 n
Capture to file as in #3 and arrow the filter (single port/flag) to reduce PPS.
Examples:
VXLAN underlay:
diagnose sniffer packet <underlay_intf> 'udp port 4789 and (host <A> and host <B>)' 3 0 n
ERSPAN:
diagnose sniffer packet <wan_interface> 'proto 47 or proto 50 or tcp port 4747' 3 0 n
Validate with debug flow on the destination:
diagnose debug reset
diagnose debug flow filter clear
diagnose debug flow filter saddr <SRC>
diagnose debug flow filter daddr <DST>
diagnose debug flow show function-name enable
diagnose debug flow trace start 100
diagnose debug enable
Reproduce for 10–20s, to stop.
diagnose debug disable
If no received traces, the traffic is not reaching this FortiGate; check UDR/NSG/LB in front of it.
Related articles:
|
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2025 Fortinet, Inc. All Rights Reserved.