Created on
09-20-2023
10:22 AM
Edited on
08-07-2025
07:26 AM
By
Stephen_G
Description | This article describes how to collect IPS engine debugs. |
Scope | FortiGate v7.0 and above. |
Solution |
config vdom get system status get system performance status diagnose hardware sysinfo memory diagnose sys session stat diagnose ips session list by-mem 15 diagnose ips session status diagnose autoupdate version | grep "IPS Attack" -A 6 diagnose ips memory status diagnose test application ipsmonitor 1 diagnose sys top 2 30 4 diagnose sys top-mem 10 diagnose sys top-mem 10 diagnose sys top-mem 10
diagnose sys process pstack <PID with high usage> fnsysctl cat /proc/$PID/smaps
diagnose sys kill 11 <PID>
diagnose debug crashlog read
Note: Additional debugging commands for TAC.
diagnose debug reset diagnose ips debug enable all <- Instead of 'all', use one from a list of categories displayed by pressing '?' after enable. diagnose ips filter set "host x.x.x.x" <- x.x.x.x = testing host IP. diagnose debug enable
Disable afterwards with the following command:
diagnose debug disable
Note: Selecting all for the IPS debug will cause high memory usage and can lead to kernel conserve mode as this debug is copying sessions inspected by the IPS engine, which will lead to doubling the sessions. It is always recommended to specify the type of session on the debug also, it is strongly recommended to use the filtering command 'diagnose ips filter...' unless the goal of the debug is to collect events for all hosts.
In cases where an IPS profile is assigned to a firewall policy in proxy inspection mode, the recommended live debug commands are:
On the Filter, add several hosts, for example (x.x.x.x represents source IP, and z.z.z.z represents destination):
diagnose ips filter set 'host x.x.x.x and host z.z.z.z'
Filter parameters need be used as it was used for IPS debugging.
diagnose debug reset diagnose wad debug enable category [all, http, session ,...] <----- Use question mark '?' to view all available categories. diagnose wad debug enable level verbose <- Verbosity level. When troubleshooting, it is recommended to use verbose. diagnose wad filter dst 10.10.10.10 <----- Filtering the logs based on the destination address. diagnose wad filter port 443 <----- Filtering the logs based on the destination port. diagnose debug console timestamp enable diagnose debug enable
To confirm which filters are in use:
diagnose wad filter list drop unknown sessions: disabled dest ip: 10.10.10.10-10.10.10.10 dest port: 443-443
To disable the debug:
diagnose debug disable diagnose debug reset
Related document: |
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.