Kernel Debug Syntax
Description
During a kernel debug session, Security Gateway Dedicated Check Point server that runs Check Point software to inspect traffic and enforce Security Policies for connected network resources. / Cluster Member Security Gateway that is part of a cluster. / Scalable Platform Security Group Member Member of a Security Group in ElasticXL Cluster, Maestro, and Scalable Chassis. Acronym: SGM. prints special debug messages that help Check Point Support and R&D understand how it processes the applicable connections.
Action Plan to Collect a Kernel Debug
|
Note - See the Kernel Debug Procedure, or the Kernel Debug Procedure with Connection Life Cycle. |
Kernel Debug Behavior on Security Gateways with 72 and more CPU Cores
When you enable the kernel debug, all CoreXL Performance-enhancing technology for Security Gateways on multi-core processing platforms. Multiple Check Point Firewall instances are running in parallel on multiple CPU cores. Firewall instances on a Security Gateway start to print their applicable debug messages.
To present the complete chronological overview, the Security Gateway performs real-time merge of these debug messages in RAM.
The more CPU cores the Security Gateway has, the more CPU and RAM resources this real-time merge consumes.
Therefore, starting in R82, by default, the kernel debug behaves differently on Security Gateways with 72 and more CPU cores:
This is the comparison of the kernel debug behavior of the "fw ctl kdebug -T
" command when you do not redirect the debug output to a file:
New Kernel Debug Behavior on Security Gateways with 72 and more CPU cores |
Legacy Kernel Debug Behavior on Security Gateways with fewer than 72 CPU cores |
---|---|
|
|
This is the comparison of the kernel debug behavior of the "fw ctl kdebug -T
" command when you redirect the debug output to a file (/<Path>/<Name of File>.<Extension of File>
):
New Kernel Debug Behavior on Security Gateways with 72 and more CPU cores |
Legacy Kernel Debug Behavior on Security Gateways with fewer than 72 CPU cores |
---|---|
|
|
You can use the new kernel debug behavior on Security Gateways with fewer than 72 CPU cores.
Instead of the "fw ctl kdebug -T
" command, use the "fw ctl ndebug -T
" command.
CLI Syntax
When there are differences in the syntax, this section provides the CLI syntax for the new kernel debug (see Kernel Debug Behavior on Security Gateways with 72 and more CPU Cores) and the legacy kernel debug.
|
Notes:
|
|
Important - To run these commands in the Expert mode on a Scalable Platform Security Group, you must use the " |
Kernel Debug Mode |
Kernel Debug Syntax |
|
---|---|---|
New Kernel Debug and Legacy Kernel Debug |
|
|
New Kernel Debug |
|
|
Legacy Kernel Debug |
|
-
To reset all debug flags and enable only the default debug flags in all kernel modules:
fw ctl debug 0
-
To disable all debug flags including the default flags in all kernel modules:
Best Practice - Do not run this command, because it disables even the basic default debug messages.
As a result, the
/var/log/messages
file will not show these basic default debug messages.fw ctl debug -x
For an approximate total memory utilization, refer to sk160955.
|
|
Notes:
|
The size of the user space debug buffer should be at least the size of the maximum kernel debug buffer of 8200.
Use the "-b <User Space Buffer Size>
" parameter as part of the syntax.
Kernel Debug Mode |
Kernel Debug Syntax |
|
---|---|---|
New Kernel Debug |
|
|
Legacy Kernel Debug |
|
|
Note - Security Gateway / Cluster Member / each Security Group Member allocates the user space debug buffer with the specified size for each CoreXL Firewall instance. |
-
General syntax:
fw ctl debug [-d <Strings to Search>] [-F "<Source IP>,<Source Port>,<Dest IP>,<Dest Port>,<Protocol Number>"] [-H "<IP Address>"] [-v {"<List of VSIDs>" | all} -k] [-k] -m <Name of Debug Module> {all | + <List of Debug Flags> | - <List of Debug Flags>} [-U]
fw ctl debug [-s "<String to Stop Debug>"] [-F "<Source IP>,<Source Port>,<Dest IP>,<Dest Port>,<Protocol Number>"] [-H "<IP Address>"] [-v {"<List of VSIDs>" | all} -k] [-k] -m <Name of Debug Module> {all | + <List of Debug Flags> | - <List of Debug Flags>}[-U]
-
To see a list of all debug modules and their flags:
Note - The list of kernel modules depends on the Software Blades you enabled on the Security Gateway / ClusterXL / Security Group.
fw ctl debug -m
-
To see a list of debug flags that are already enabled:
fw ctl debug
-
To enable all debug flags in the specified kernel module:
fw ctl debug -m <Name of Debug Module> all
-
To enable the specified debug flags in the specified kernel module:
fw ctl debug -m <Name of Debug Module> + <List of Debug Flags>
-
To disable the specified debug flags in the specified kernel module:
fw ctl debug -m <Name of Debug Module> - <List of Debug Flags>
Kernel Debug Mode |
Kernel Debug Syntax |
|
---|---|---|
New Kernel Debug |
|
|
Legacy Kernel Debug |
|
Kernel Debug Mode |
Kernel Debug Syntax |
|
---|---|---|
New Kernel Debug |
|
|
Legacy Kernel Debug |
|
CLI Parameters
|
Note - Only supported parameters are listed. |
Parameter |
Description |
|||||||
---|---|---|---|---|---|---|---|---|
|
Controls how to disable the debug flags:
|
|||||||
|
When you specify this parameter, the Security Gateway / Cluster Member / Security Group:
|
|||||||
|
When you specify this parameter, the Security Gateway / Cluster Member / Security Group:
|
|||||||
|
Specifies the capture filter (for both accelerated and non-accelerated traffic):
|
|||||||
|
|
|||||||
|
Creates an IP address filter. For more information, see Kernel Debug Filters. This parameter supports up to 3 capture filters (up to 3 instances of the " Example - Capture traffic only to and from the Host 1.1.1.1:
|
|||||||
|
Specifies the name of the kernel debug module, for which you print or configure the debug flags. |
|||||||
|
Specifies which debug flags to enable or disable in the specified kernel debug module:
|
|||||||
|
In the VSNext mode:
|
|||||||
|
Syntax:
|
|||||||
|
Specifies the INSPECT filter for the debug:
|
|||||||
|
The Security Gateway / Cluster Member / Security Group processes some connections in both SecureXL code and in the Host appliance code (for example, Passive Streaming Library (PSL Passive Streaming Library. Packets may arrive at Security Gateway out of order, or may be legitimate retransmissions of packets that have not yet received an acknowledgment. In some cases, a retransmission may also be a deliberate attempt to evade IPS detection by sending the malicious payload in the retransmission. Security Gateway ensures that only valid packets are allowed to proceed to destinations. It does this with the Passive Streaming Library (PSL) technology. (1) The PSL is an infrastructure layer, which provides stream reassembly for TCP connections. (2) The Security Gateway makes sure that TCP data seen by the destination system is the same as seen by code above PSL. (3) The PSL handles packet reordering, congestion, and is responsible for various security aspects of the TCP layer, such as handling payload overlaps, some DoS attacks, and others. (4) The PSL is capable of receiving packets from the Firewall chain and from the SecureXL. (5) The PSL serves as a middleman between the various security applications and the network packets. It provides the applications with a coherent stream of data to work with, free of various network problems or attacks. (6) The PSL infrastructure is wrapped with well-defined APIs called the Unified Streaming APIs, which are used by the applications to register and access streamed data.) - an IPS Check Point Software Blade on a Security Gateway that inspects and analyzes packets and data for numerous types of risks (Intrusion Prevention System). infrastructure, which transparently listens to TCP traffic as network packets, and rebuilds the TCP stream out of these packets.). The Security Gateway / Cluster Member / Security Group processes some connections in only in the Host appliance code. When you use this parameter, kernel debug output contains the debug messages only from the Host appliance code. |
|||||||
|
The Security Gateway / Cluster Member / Security Group processes some connections in both kernel space code and in the user space code (for example, Web Intelligence). The Security Gateway / Cluster Member / Security Group processes some connections only in the kernel space code. When you use this parameter, kernel debug output contains the debug messages only from the kernel space.
|
|||||||
|
By default, when the Security Gateway / Cluster Member / Security Group prints the debug messages, the messages start with the applicable CPU ID and CoreXL Firewall instance ID. You can print additional fields in the beginning of each debug message.
|
|||||||
|
Specifies to merge the debug information from the HyperFlow feature. This information is available only for the " |
|
Note - Only supported parameters are listed. |
Parameter |
Description |
|||
---|---|---|---|---|
|
Specifies the size of the user space debug buffer. This buffer size should be at least the size of the maximum kernel debug buffer of 8200. |
|||
|
By default, when the Security Gateway / Cluster Member / Security Group prints the debug messages, the messages start with the applicable CPU ID and CoreXL Firewall instance ID. You can print additional fields in the beginning of each debug message.
|
|||
|
The Security Gateway / Cluster Member / Security Group processes some connections in both kernel space code and in the user space code (for example, Web Intelligence). The Security Gateway / Cluster Member / Security Group processes some connections only in the kernel space code. When you use this parameter, kernel debug output contains the debug messages only from the kernel space.
|
|||
|
Prints the time stamp in microseconds in front of each debug message.
|
|||
|
Disables the merge of all temporary debug files at the end of the kernel debug. This is helpful if you want to analyze an individual dedicated temporary debug file.
|
|||
|
Specifies not to delete the temporary debug files. |
|||
|
Specifies to merge the debug information from the HyperFlow feature. |
|||
|
Specifies the number of CoreXL Firewall Instances in each internal debug thread. The default is 4.
|
|||
|
Specifies the list of CoreXL Firewall Instances.
|
|||
|
In the VSNext mode:
In the Legacy VSX mode:
|
|||
|
Syntax:
|
|||
|
Specifies the path and the name of the debug output file.
|
|
Note - Only supported parameters are listed. |
Parameter |
Description |
||
---|---|---|---|
|
Specifies the size of the user space debug buffer. This buffer size should be at least the size of the maximum kernel debug buffer of 8200. |
||
|
By default, when the Security Gateway / Cluster Member / Security Group prints the debug messages, the messages start with the applicable CPU ID and CoreXL Firewall instance ID. You can print additional fields in the beginning of each debug message.
|
||
|
The Security Gateway / Cluster Member / Security Group processes some connections in both kernel space code and in the user space code (for example, Web Intelligence). The Security Gateway / Cluster Member / Security Group processes some connections only in the kernel space code. When you use this parameter, kernel debug output contains the debug messages only from the kernel space.
|
||
|
In the VSNext mode:
In the Legacy VSX mode:
|
||
|
Syntax:
|
||
|
Prints the time stamp in microseconds in front of each debug message.
|
||
|
Collects the debug data until you stop the kernel debug in one of these ways:
|
||
|
Specifies the path and the name of the debug output file.
|
||
|
Saves the collected debug data into cyclic debug output files. When the size of the current If the The valid values are:
|