목차/12. 커널 디버그(구문·필터·절차·모듈)

12커널 디버그(구문·필터·절차·모듈)명령줄·커널 참조

성능을 끝까지 파고들다 보면 결국 명령줄과 커널 수준 으로 내려가야 합니다. CPView·fwaccel·fw ctl 같은 일상 도구로는 닿지 않는 게이트웨이 내부 동작을 손보거나, 특정 연결이 방화벽 안에서 어떻게 흘러가는지 한 패킷씩 들여다봐야 할 때가 있기 때문입니다. 이 장은 커널 파라미터(게이트웨이의 고급 동작을 바꾸는 설정값)와 커널 디버그(연결 처리 과정을 메시지로 수집하는 진단 작업) 두 갈래를 원문 그대로 빠짐없이 풀어 정리합니다. 명령은 한 글자도 바꾸지 않고 ``` 블록에 담고, 원문이 표·목록으로 나열한 파라미터·플래그·절차도 모두 한국어 표로 옮깁니다.

크게 두 묶음입니다. 앞부분은 커널 파라미터 — 소개, 방화벽(Firewall) 파라미터, SecureXL 파라미터를 정수(Integer)/문자열(String) 타입별로, 임시·영구 설정 방법까지 다룹니다. 뒷부분은 커널 디버그 — 구문(syntax), 필터(filter), 절차(procedure), 연결 수명주기(Connection Life Cycle), 그리고 40개가 넘는 디버그 모듈과 그 플래그 목록 을 전부 싣습니다.

---

커널 파라미터란 무엇인가

커널 파라미터(Kernel parameter)Security Gateway / Cluster Member / Scalable Platform Security Group의 고급 동작을 바꾸는 설정값 입니다. 타입은 두 가지뿐입니다.

타입설명
Integer정수 값 하나만 받습니다.
String평문(plain-text) 문자열만 받습니다.

게이트웨이는 커널 파라미터의 이름과 기본값 을 다음 커널 모듈 파일들에서 읽어 옵니다.

$FWDIR/boot/modules/fw_kern_64_v6.o
$PPKDIR/boot/modules/sim_kern_64.o
$PPKDIR/boot/modules/sim_kern_64_v6.o

성능 튜닝에서 다루는 커널 파라미터는 크게 두 무리입니다 — 방화벽 동작을 바꾸는 Firewall Kernel Parameters, 가속 동작을 바꾸는 SecureXL Kernel Parameters 입니다. 어느 파라미터를 어떤 값으로 설정할지는 임의로 정하는 게 아니라, Check Point Support Center의 여러 SK 문서나 지원팀이 안내하는 값 을 따르는 것이 원칙입니다.

방화벽 커널 파라미터(Firewall Kernel Parameters)

방화벽의 내부 기본 동작을 바꾸거나 특수한 고급 설정을 켤 때 사용합니다. 적용 가능한 파라미터 이름과 값은 Check Point Support Center의 여러 SK 문서에 나오며 지원팀이 제공합니다. 시작하기 전에 몇 가지 절대 잊으면 안 되는 규칙 이 있습니다.

원문이 예로 든 방화벽 커널 파라미터는 다음과 같습니다.

타입이름
Integerfw_allow_simultaneous_ping
Integerfw_kdprintf_limit
Integerfw_log_bufsize
Integersend_buf_limit
Stringsimple_debug_filter_addr_1
Stringsimple_debug_filter_daddr_1
Stringsimple_debug_filter_vpn_1
Stringws_debug_ip_str
Stringfw_lsp_pair1

정수(Integer) 파라미터 다루기

사용 가능한 정수 파라미터 목록과 값 한꺼번에 보기

Expert mode로 들어가, 먼저 오류 없이 값을 가져올 수 있는지 확인합니다.

modinfo -p $FWDIR/boot/modules/fw_kern*.o | sort -u |
grep ':int param' | awk 'BEGIN {FS=":"} ; {print $1}' |
xargs -n 1 fw ctl get int

오류가 없으면, 같은 명령으로 목록과 값을 파일에 저장 합니다.

modinfo -p $FWDIR/boot/modules/fw_kern*.o | sort -u |
grep ':int param' | awk 'BEGIN {FS=":"} ; {print $1}' |
xargs -n 1 fw ctl get int 1>> /var/log/fw_integer_
kernel_parameters.txt 2>> /var/log/fw_integer_kernel_
parameters.txt

그런 다음 출력 파일 /var/log/fw_integer_kernel_parameters.txt 를 분석합니다.

정수 파라미터의 현재 값 보기

Gaia Clish 또는 Expert mode에서(Scalable Platform에서는 Gaia gClish 또는 Expert mode) 다음을 실행합니다.

fw ctl get int <Name of Integer Kernel Parameter> [-a]

Scalable Platform Security Group에서 Expert mode로 실행할 때는 g_fw 를 씁니다.

g_fw ctl get int <Name of Integer Kernel Parameter> [-a]

예시:

[Expert@MyGW:0]# fw ctl get int send_buf_limit
send_buf_limit = 80
[Expert@MyGW:0]#

정수 파라미터 값을 임시로 설정하기

fw ctl set int <Name of Integer Kernel Parameter> <Integer Value>

Scalable Platform Security Group의 Expert mode에서는:

g_fw ctl set int <Name of Integer Kernel Parameter> <Integer Value>

예시와 확인:

[Expert@MyGW:0]# fw ctl set int send_buf_limit 100
Set operation succeeded
[Expert@MyGW:0]# fw ctl get int send_buf_limit
send_buf_limit = 100
[Expert@MyGW:0]#

정수 파라미터 값을 영구로 설정하기

재부팅 후에도 살아남게 하려면 해당 구성 파일을 편집해야 합니다 — Firewall 파라미터는 $FWDIR/boot/modules/fwkern.conf, VPN 파라미터는 $FWDIR/boot/modules/vpnkern.conf 입니다. 정확한 파라미터는 SK 문서나 지원팀 안내를 따릅니다. 영구 설정에는 짧은 절차와 긴 절차 두 가지가 있습니다.

짧은 절차 (fwkern.conf)

단계지시
1게이트웨이/각 Cluster Member 명령줄에 접속(Scalable Platform은 Security Group).
2Expert mode로 로그인.
3현재 구성 파일이 있으면 백업: cp -v $FWDIR/boot/modules/fwkern.conf{,_BKP} (SP: g_cp -v ...).
4아래 정확한 형식으로 파라미터를 설정(-f 가 핵심).
5구성 파일 확인: cat $FWDIR/boot/modules/fwkern.conf (SP: g_cat ...).
6재부팅: reboot (SP: g_reboot -a).
7~8다시 접속해 Gaia Clish/Expert mode 로그인.
9새 값이 설정됐는지 확인: fw ctl get int <Name> [-a] (SP gClish: 동일 / SP Expert: g_fw ...).

4단계 명령:

fw ctl set -f int <Name_of_Integer_Kernel_Parameter> <Integer_Value>

Scalable Platform Security Group에서는 둘 중 하나:

g_fw ctl set -f int <Name_of_Integer_Kernel_Parameter> <Integer_Value>
g_update_conf_file fwkern.conf <Name_of_Integer_Kernel_Parameter>=<Integer_Value>

예시:

[Expert@MyGW:0]# fw ctl set -f int send_buf_limit 100
"fwkern.conf" was updated successfully
[Expert@MyGW:0]# g_update_conf_file fwkern.conf send_buf_limit=100
"fwkern.conf" was updated successfully
[Expert@MyGW:0]#

긴 절차 (fwkern.confvpnkern.conf) — 자세한 내용은 sk26202(Changing the kernel global parameters for Check Point Security Gateway)를 참고합니다. 흐름은 이렇습니다.

  1. 명령줄 접속 후 Expert mode 로그인.
  2. 구성 파일이 이미 있는지 확인 — Firewall은 ls -l $FWDIR/boot/modules/fwkern.conf, VPN은 ls -l $FWDIR/boot/modules/vpnkern.conf (SP는 g_ls ...).
  3. 파일이 있으면 5단계로, 없으면 직접 만들고(touch $FWDIR/boot/modules/fwkern.conf; SP는 g_all touch ...) 6단계로.
  4. 현재 구성 파일 백업: cp -v $FWDIR/boot/modules/fwkern.conf{,_BKP} (VPN·SP는 대응 경로/g_cp).
  5. 편집: vi $FWDIR/boot/modules/fwkern.conf (VPN은 vi $FWDIR/boot/modules/vpnkern.conf). 게이트웨이·Cluster Member·Security Group 모두 같은 구문입니다.
  6. 아래 정확한 형식으로 파라미터를 추가.
  7. 저장하고 편집기 종료.
  8. Scalable Platform이면 갱신한 파일을 다른 모든 Security Group Member로 복사: asg_cp2blades $FWDIR/boot/modules/fwkern.conf (VPN은 vpnkern.conf).
  9. 재부팅(reboot / SP g_reboot -a) → 다시 접속 → 새 값 확인.
<Name_of_Integer_Kernel_Parameter>=<Integer_Value>

문자열(String) 파라미터 다루기

사용 가능한 문자열 파라미터 목록과 값 한꺼번에 보기

Expert mode에서 먼저 오류 없이 가져오는지 확인합니다.

modinfo -p $FWDIR/boot/modules/fw_kern*.o | sort -u |
grep ':string param' | awk 'BEGIN {FS=":"} ; {print
$1}' | xargs -n 1 fw ctl get str

오류가 없으면 파일로 저장합니다.

modinfo -p $FWDIR/boot/modules/fw_kern*.o | sort -u |
grep ':string param' | awk 'BEGIN {FS=":"} ; {print
$1}' | xargs -n 1 fw ctl get str 1>> /var/log/fw_
string_kernel_parameters.txt 2>> /var/log/fw_string_
kernel_parameters.txt

출력 파일 /var/log/fw_string_kernel_parameters.txt 를 분석합니다.

문자열 파라미터의 현재 값 보기

fw ctl get str <Name of String Kernel Parameter> [-a]

Scalable Platform Security Group의 Expert mode에서는 g_fw ctl get str .... 예시:

[Expert@MyGW:0]# fw ctl get str fileapp_default_encoding_charset
fileapp_default_encoding_charset = 'UTF-8'
[Expert@MyGW:0]#

문자열 파라미터 값을 임시로 설정하기

fw ctl set str <Name of String Kernel Parameter> '<String Text>'

또는

fw ctl set str <Name of String Kernel Parameter> "<String Text>"

Scalable Platform Security Group의 Expert mode에서는 g_fw ctl set str .... 예시와 확인:

[Expert@MyGW:0]# fw ctl set str debug_filter_saddr_ip '1.1.1.1'
Set operation succeeded
[Expert@MyGW:0]# fw ctl get str debug_filter_saddr_ip
debug_filter_saddr_ip = '1.1.1.1'
[Expert@MyGW:0]#

문자열 파라미터 값을 영구로 설정하기

정수와 같은 파일(fwkern.conf/vpnkern.conf)을 편집합니다. 짧은 절차 의 4단계 명령은 다음과 같습니다(값은 따옴표 필수).

fw ctl set -f str <Name_of_String_Kernel_Parameter> '<String_Text>'

또는

fw ctl set -f str <Name_of_String_Kernel_Parameter> "<String_Text>"

Scalable Platform Security Group의 Expert mode에서는 g_fw ctl set -f str .... 예시:

[Expert@MyGW:0]# fw ctl set -f str ws_debug_ip_str '1.1.1.1'
"fwkern.conf" was updated successfully
[Expert@MyGW:0]#

긴 절차 는 정수와 동일한 흐름(존재 확인 → touch → 백업 → vi 편집 → 저장 → SP는 asg_cp2blades 로 배포 → 재부팅 → 확인)이며, 파일에 추가하는 형식만 따옴표가 붙습니다.

<Name_of_String_Kernel_Parameter>='<String_Text>'

또는

<Name_of_String_Kernel_Parameter>="<String_Text>"

문자열 파라미터의 값 임시로 비우기(제거)

fw ctl set str '<Name of String Kernel Parameter>'

또는

fw ctl set str "<Name of String Kernel Parameter>"

Scalable Platform Security Group Expert mode에서는 g_fw ctl set str .... 비워졌는지 확인합니다. 예시:

[Expert@MyGW:0]# fw ctl set str debug_filter_saddr_ip ''
Set operation succeeded
[Expert@MyGW:0]# fw ctl get str debug_filter_saddr_ip
debug_filter_saddr_ip = ''
[Expert@MyGW:0]#

SecureXL 커널 파라미터(SecureXL Kernel Parameters)

SecureXL의 내부 기본 동작을 바꾸거나 특수 고급 설정을 켤 때 사용합니다. 적용 가능한 이름과 값은 역시 SK 문서·지원팀에서 옵니다. 방화벽 파라미터와 결정적으로 다른 점은 영구 설정 파일 입니다.

원문이 예로 든 SecureXL 커널 파라미터:

타입이름
Integernum_of_sxl_devices
Integersim_ipsec_dont_fragment
Integertcp_always_keepalive
Integersim_log_all_frags
Integersimple_debug_filter_dport_1
Integersimple_debug_filter_proto_1
Stringsimple_debug_filter_addr_1
Stringsimple_debug_filter_daddr_2
Stringsimlinux_excluded_ifs_list

정수(Integer) SecureXL 파라미터 다루기

목록과 값 한꺼번에 보기

방화벽과 거의 같지만, 모듈 경로가 $PPKDIR/boot/modules/sim_kern*.o 라는 점이 다릅니다.

modinfo -p $PPKDIR/boot/modules/sim_kern*.o | sort -u |
grep ':int param' | awk 'BEGIN {FS=":"} ; {print $1}' |
xargs -n 1 fw ctl get int

오류가 없으면 파일로 저장합니다.

modinfo -p $PPKDIR/boot/modules/sim_kern*.o | sort -u |
grep ':int param' | awk 'BEGIN {FS=":"} ; {print $1}' |
xargs -n 1 fw ctl get int 1>> /var/log/sxl_integer_
kernel_parameters.txt 2>> /var/log/sxl_integer_kernel_
parameters.txt

출력 파일 /var/log/sxl_integer_kernel_parameters.txt 를 분석합니다.

현재 값 보기 · 임시 설정

값 조회와 임시 설정 구문은 방화벽 정수 파라미터와 똑같이 fw ctl get int / fw ctl set int(SP는 g_fw ...)를 씁니다. 예시:

[Expert@MyGW:0]# fw ctl get int sim_ipsec_dont_fragment
sim_ipsec_dont_fragment = 1
[Expert@MyGW:0]# fw ctl set int sim_ipsec_dont_fragment 0
Set operation succeeded
[Expert@MyGW:0]# fw ctl get int sim_ipsec_dont_fragment
sim_ipsec_dont_fragment = 0
[Expert@MyGW:0]#

영구 설정하기

방화벽과 달리 SecureXL은 simkern.conf 단 하나 의 파일만 씁니다. 절차:

단계지시
1~2명령줄 접속 후 Expert mode 로그인.
3파일 존재 확인: ls -l $PPKDIR/conf/simkern.conf (SP: g_ls ...).
4있으면 5단계로, 없으면 만들고(touch $PPKDIR/conf/simkern.conf; SP: g_all touch ...) 6단계로.
5백업: cp -v $PPKDIR/conf/simkern.conf{,_BKP} (SP: g_cp ...).
6편집: vi $PPKDIR/conf/simkern.conf (게이트웨이·SP 동일 구문).
7아래 형식으로 파라미터 추가.
8저장 후 종료.
9재부팅: reboot (SP: g_reboot -a).
10~12다시 접속 → 로그인 → 새 값 확인(fw ctl get int <Name> [-a]; SP Expert: g_fw ...).
<Name_of_SecureXL_Integer_Kernel_Parameter>=<Integer_Value>

문자열(String) SecureXL 파라미터 다루기

목록과 값 한꺼번에 보기

modinfo -p $PPKDIR/boot/modules/sim_kern*.o | sort -u |
grep ':string param' | awk 'BEGIN {FS=":"} ; {print
$1}' | xargs -n 1 fw ctl get str

오류가 없으면 파일로 저장합니다.

modinfo -p $PPKDIR/boot/modules/sim_kern*.o | sort -u |
grep ':string param' | awk 'BEGIN {FS=":"} ; {print
$1}' | xargs -n 1 fw ctl get str 1>> /var/log/sxl_
string_kernel_parameters.txt 2>> /var/log/sxl_string_
kernel_parameters.txt

출력 파일 /var/log/sxl_string_kernel_parameters.txt 를 분석합니다.

현재 값 보기 · 임시 설정

fw ctl get str <Name of String Kernel Parameter> [-a]

예시:

[Expert@MyGW:0]# fw ctl get str fwkdebug_print_connkey_on_str
fwkdebug_print_connkey_on_str = ''
[Expert@MyGW:0]#

임시 설정은 따옴표를 붙입니다(작은/큰따옴표 중 하나).

fw ctl set str <Name of String Kernel Parameter> '<String Text>'
fw ctl set str <Name of String Kernel Parameter> "<String Text>"

예시와 확인:

[Expert@MyGW:0]# fw ctl set str fwkdebug_print_connkey_on_str 'Packet accepted'
Set operation succeeded
[Expert@MyGW:0]# fw ctl get str fwkdebug_print_connkey_on_str
fwkdebug_print_connkey_on_str = 'Packet accepted'
[Expert@MyGW:0]#

영구 설정하기

정수 SecureXL과 동일하게 simkern.conf 를 편집합니다(존재 확인 → touch → 백업 → vi → 저장 → 재부팅 → 확인). 7단계 형식만 따옴표가 붙습니다.

<Name_of_SecureXL_String_Kernel_Parameter>='<String_Text>'

또는

<Name_of_SecureXL_String_Kernel_Parameter>="<String_Text>"

---

여기서부터는 게이트웨이가 특정 연결을 어떻게 처리하는지 보여 주는 디버그 메시지를 수집 하는 커널 디버그(Kernel Debug) 입니다. 디버그 세션 동안 게이트웨이/Cluster Member/Security Group Member는 특수한 디버그 메시지를 출력하는데, 이를 통해 Check Point Support와 R&D가 연결 처리 과정을 이해 합니다.

디버그를 수집하는 큰 흐름(Action Plan)

단계동작하는 일
1디버그 설정 준비기본 설정 복원 — 다른 디버그 설정이 끼어들지 않도록. ② 디버그 버퍼 할당 — 메시지를 담을 공간 확보.
2모듈·플래그 설정필요한 커널 디버그 모듈과 플래그 를 켜서, 원하는 메시지만 모이게 함.
3수집 시작디버그 버퍼의 메시지를 출력 파일 로 쓰기 시작.
4중지출력 파일에 쓰기를 멈춤.
5기본 설정 복원디버그 옵션을 원래대로 되돌림.

CPU 코어 72개 이상에서 달라지는 동작 (R82 신규)

커널 디버그를 켜면 게이트웨이의 모든 CoreXL Firewall 인스턴스가 각자의 디버그 메시지를 출력 합니다. 시간 순서대로 정렬된 전체 그림을 보여 주려면 게이트웨이는 이 메시지들을 RAM에서 실시간으로 병합(merge) 하는데, CPU 코어가 많을수록 이 실시간 병합이 CPU·RAM을 더 많이 잡아먹습니다. 그래서 R82부터는 CPU 코어 72개 이상 게이트웨이에서 기본 동작이 달라집니다.

출력을 파일로 보내지 않고 fw ctl kdebug -T 를 실행할 때

코어 72개 미만 (기존 동작)코어 72개 이상 (신규 동작)
1. 게이트웨이가 기본 임시 출력 파일(/var/log/debug.log*)에 메시지를 씁니다. ▸ Firewall: /var/log/debug.log, /var/log/debug.log.header, /var/log/debug.log.kernel, /var/log/debug.log.<VS_ID>.<CoreXL_FW_ID> ▸ UPPAK 모드 SecureXL: /var/log/debug.log.uppak<br>2. 화면에 실시간으로 출력하지 않습니다.1. 게이트웨이가 메시지를 RAM에 보관.<br>2. 병합된 출력을 화면에 실시간 으로 보여 줌.<br>(참고 — fw ctl kdebug -T 를 백그라운드로 돌리고 임시 파일들에 tail –f 가능)<br>3. 디버그를 멈추면 게이트웨이가 ⓐ 임시 출력 파일의 모든 메시지를 병합, ⓑ 병합 결과를 화면에 표시, ⓒ 임시 파일 삭제(보관 지정 시 유지).

출력을 파일로 보내며 실행할 때(/<Path>/<Name of File>.<Extension>)

코어 72개 미만 (기존 동작)코어 72개 이상 (신규 동작)
1. 지정한 출력 파일과 같은 디렉터리에 임시 파일을 씁니다. ▸ Firewall: ....header, ....kernel, ....<VS_ID>.<CoreXL_FW_ID> ▸ UPPAK SecureXL: ....uppak<br>2. 화면에 실시간 출력 안 함(지정 파일에 tail –f 가능).1. 게이트웨이가 지정한 출력 파일에 직접 메시지를 씀.<br>2. 화면에 실시간 출력 안 함(지정 파일에 tail –f 가능).<br>3. 디버그를 멈추면 임시 파일들을 병합하고 삭제(보관 지정 시 유지).

CLI 구문(Syntax)

세 가지 명령군이 있습니다 — fw ctl debug(신규·기존 공통, 모듈·플래그·필터 설정), fw ctl ndebug(신규 커널 디버그, 수집), fw ctl kdebug(기존 커널 디버그, 수집) 입니다.

내장 도움말 보기

fw ctl debug -h     # 신규+기존 공통
fw ctl ndebug -h    # 신규 커널 디버그
fw ctl kdebug -h    # 기존 커널 디버그

기본 디버그 설정 복원

fw ctl debug 0      # 모든 플래그 리셋 후 각 모듈의 기본 플래그만 켬
fw ctl debug -x     # 기본 플래그까지 포함해 모든 플래그를 끔

디버그 버퍼 할당 — 대략적 총 메모리 사용량은 sk160955 참고.

fw ctl debug -buf 8200 [-v {"<List of VSIDs>" | all} -k]

사용자 공간(user space) 디버그 버퍼 할당 — 크기는 최소한 최대 커널 버퍼 8200 이상이어야 합니다. -b <User Space Buffer Size> 파라미터를 씁니다.

fw ctl ndebug -b 8200 <other required parameters>    # 신규
fw ctl kdebug -b 8200 <other required parameters>    # 기존

모듈·플래그·필터 설정 (일반 구문)

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 "..."] [-H "..."] [-v {"..." | all} -k] [-k] -m <Name of Debug Module> {all | + <List of Debug Flags> | - <List of Debug Flags>}[-U]
fw ctl debug -m                              # 모든 디버그 모듈과 플래그 목록
fw ctl debug                                 # 이미 켜진 플래그 목록
fw ctl debug -m <Name of Debug Module> all   # 해당 모듈의 모든 플래그 켜기
fw ctl debug -m <Name of Debug Module> + <List of Debug Flags>   # 특정 플래그 켜기
fw ctl debug -m <Name of Debug Module> - <List of Debug Flags>   # 특정 플래그 끄기

'Gateway' 모드로 출력 수집

# 신규 커널 디버그
fw ctl ndebug [-b <User Space Buffer Size>] [-p <List of Fields>] [-k] -T [-M] [-w] [-U] [-c <Number of CoreXL Firewall Instances in Debug Thread>] [-I {"<List of CoreXL Firewall Instances>" | all}] -o /<Path>/<Name of Output File>

# 기존 커널 디버그
fw ctl kdebug [-b <User Space Buffer Size>] [-p <List of Fields>] [-k] -T -f -o /<Path>/<Name of Output File> [-m <Number of Cyclic Files> [-s <Size of Each Cyclic File in KB>]]

'VSNext' / 'Legacy VSX' 모드로 특정 Virtual System에서 수집

# 신규 커널 디버그
fw ctl ndebug [-b <User Space Buffer Size>] [-p <List of Fields>] [-k] -T [-v {"<List of VSIDs>" | all}] [-M] [-w] [-U] [-c <...>] [-I {"<...>" | all}] -o /<Path>/<Name of Output File>

# 기존 커널 디버그
fw ctl kdebug [-b <User Space Buffer Size>] [-p <List of Fields>] -v {"<List of VSIDs>" | all} -k -T -f -o /<Path>/<Name of Output File> [-m <Number of Cyclic Files> [-s <Size of Each Cyclic File in KB>]]

`fw ctl debug` 파라미터

파라미터설명
0 \-x플래그 끄는 방식. 0 = 모든 플래그 리셋 후 기본 플래그만 켬. -x = 기본 플래그 포함 전부 끔(Best Practice — 쓰지 말 것).
-d <Strings to Search>켜진 모듈·플래그 기준으로 메시지를 살핀 뒤, 지정 문자열 중 하나 이상을 포함한 메시지만 버퍼에 모으고 전체 버퍼를 파일로 씀. 정규식 아님, 평문. 콤마로 구분(공백 없이): -d String1,String2,...,StringN. 최대 10개, 총 250자까지.
-s "<String to Stop Debug>"메시지를 버퍼에 모으되 파일에는 안 쓰다가, 지정 문자열을 포함한 첫 메시지를 만나면 수집을 멈추고 전체 버퍼를 파일로 씀. 평문 한 개, 최대 50자.
-F "<SrcIP>,<SrcPort>,<DstIP>,<DstPort>,<Proto>"캡처 필터(가속·비가속 트래픽 모두). 5-tuple 지정. 내부적으로 simple_debug_filter_saddr_<N> / _sport_<N> / _daddr_<N> / _dport_<N> / _proto_<N> 커널 파라미터를 사용. 값 0은 "any". 최대 5개의 -F 까지 쓸 수 있고, 여러 필터 사이는 논리 "OR". 자세히는 아래 "커널 디버그 필터".
-H "<IP Address>"IP 주소 필터를 만듦. 최대 3개의 -H. 예: fw ctl debug –H "1.1.1.1" (호스트 1.1.1.1 의 송·수신 트래픽만).
-m <Name of Debug Module>플래그를 출력·설정할 커널 디버그 모듈 이름.
`{all \+ <Flags> \- <Flags>}`all = 해당 모듈 전 플래그 켜기. + <Flags> = 지정 플래그 켜기(+ 뒤에 반드시 스페이스, 예 + drop conn). - <Flags> = 지정 플래그 끄기(- 뒤에 스페이스, 예 - conn).
`-v {"<List of VSIDs>" \all -k}`VSNext 모드에선 Virtual Gateway, Legacy VSX 모드에선 Virtual System 목록을 지정해 그것만 필터. -v 는 VSNext/Legacy VSX 모드에서만 지원되며, 반드시 -k 와 함께 써야 함. 예 -v "1,3,7", -v all(기본). ID 확인은 show virtual-system all(Clish) 또는 vsx stat -v(Expert).
-e <Expression> / -i <Name of Filter File> / -i - / -uINSPECT 필터 지정(레거시). -e = INSPECT 식 직접. -i <File> = 필터 파일. -i - = 표준 입력으로 입력. -u = INSPECT 디버그 필터 제거. -e·-i 는 가속 트래픽에는 적용 안 됨. 새 방식은 "커널 디버그 필터" 참고.
-z일부 연결은 SecureXL 코드와 Host appliance 코드 양쪽에서, 일부는 Host appliance 코드에서만 처리됨(예: PSL — TCP 트래픽을 투명하게 듣고 스트림을 재조립하는 IPS 인프라). 이 파라미터를 쓰면 Host appliance 코드의 메시지만 출력.
-k일부 연결은 커널 공간·사용자 공간 양쪽에서, 일부는 커널 공간에서만 처리됨(예: Web Intelligence). 이 파라미터를 쓰면 커널 공간의 메시지만 출력. (참고 — VSNext/Legacy VSX 모드에서 SecureXL 메시지를 모으려면 이 파라미터 필수.)
-p <List of Fields>메시지는 기본적으로 CPU ID·CoreXL Firewall 인스턴스 ID로 시작. 앞쪽에 필드를 더 출력. 사용 가능: all, proc, pid, date, mid, type, freq, topic, time, ticks, tid, text, errno, host, vsid, cpu. 콤마로 구분(공백 없이). 필드가 많을수록 CPU·디스크 부하 증가.
-UHyperFlow 기능의 디버그 정보를 병합. 이 정보는 "PSL" 디버그 모듈에서만 제공.

`fw ctl ndebug` 파라미터 (신규 커널 디버그)

파라미터설명
-b <User Space Buffer Size>사용자 공간 디버그 버퍼 크기. 최소 최대 커널 버퍼 8200 이상.
-p <List of Fields>(위와 동일) 메시지 앞에 추가 필드 출력. all, proc, pid, date, mid, type, freq, topic, time, ticks, tid, text, errno, host, vsid, cpu. 콤마 구분. 많을수록 부하 증가.
-k(위와 동일) 커널 공간 메시지만. VSNext/Legacy VSX에서 SecureXL 메시지 수집 시 필수.
-T각 메시지 앞에 마이크로초 단위 타임스탬프 출력. Best Practice — 분석을 쉽게 하려고 항상 사용.
-M디버그 끝에 임시 파일 병합을 비활성화. 개별 임시 파일을 분석할 때 유용. 중요-w 와 함께 사용.
-w임시 디버그 파일을 삭제하지 않음.
-UHyperFlow 디버그 정보 병합.
-c <Number of CoreXL Firewall Instances in Debug Thread>내부 디버그 스레드마다 들어가는 CoreXL Firewall 인스턴스 수. 기본 4. Best Practice — R&D·Support가 명시적으로 요청하지 않는 한 쓰지 말 것.
`-I {"<List of CoreXL Firewall Instances>" \all}`모니터링할 CoreXL Firewall 인스턴스 목록. 예 -I "1,3,7", -I all(기본). ID 확인은 fw ctl multik stat.
`-v {"<List of VSIDs>" \all -k}`(위 debug 와 동일) VSNext/Legacy VSX 전용, -k 필수. 예 -v "1,3,7", -v all(기본).
-o /<Path>/<Name of Output File>출력 파일 경로·이름. Best Practice항상 디스크에서 가장 큰 파티션 /var/log/ 사용. 짧은 시간에 메시지가 매우 많아져 파일이 빠르게 커짐.

`fw ctl kdebug` 파라미터 (기존 커널 디버그)

파라미터설명
-b <User Space Buffer Size>사용자 공간 버퍼 크기. 최소 8200 이상.
-p <List of Fields>메시지 앞에 추가 필드 출력. 사용 가능 필드는 fw ctl kdebug –h 로 확인. 콤마 구분. 많을수록 부하 증가.
-k커널 공간 메시지만. VSNext/Legacy VSX에서 SecureXL 수집 시 필수.
`-v {"<List of VSIDs>" \all -k}`VSNext/Legacy VSX 전용. -k 필수. 예 -v "1,3,7", -v all(기본).
-T마이크로초 타임스탬프. Best Practice — 항상 사용.
-f다음 중 하나로 멈출 때까지 데이터 수집: CTRL+C, fw ctl debug 0, fw ctl debug -x, fw ctl kdebug 프로세스 종료.
-o /<Path>/<Name of Output File>출력 파일. Best Practice — 가장 큰 파티션 /var/log/.
-o ... -m <Number of Cyclic Files> [-s <Size of Each Cyclic File in KB>]기존 디버그 구문 fw ctl debug -o ... 에서만 지원. 순환(cyclic) 출력 파일로 저장 — 현재 파일이 지정 크기에 닿으면 ....0 으로 이름 바꾸고 새 파일 생성, ....0 이 있으면 ....1 로 미는 식으로 지정 개수 한도까지 돌다가 가장 오래된 파일 삭제. 유효 값: 파일 수 1~999, 각 파일 크기 1~2097150 KB.

커널 디버그 필터(Kernel Debug Filters)

기본적으로 커널 디버그 출력은 처리되는 모든 연결 의 정보를 담습니다. 필터를 걸면 원하는 연결의 메시지만 모을 수 있습니다. 필터는 세 종류입니다.

  • 연결 튜플(connection tuple) 파라미터로
  • 하나의 IP 주소 파라미터로
  • VPN 피어(VPN peer) 파라미터로

이 필터들은 디버그를 시작하기 전에 해당 커널 파라미터에 값을 지정해서 설정하며, fw ctl set 으로 임시 지정합니다.

"연결 튜플 파라미터로" 거르는 필터

게이트웨이는 연결을 5-tuple(출발지 IP, 출발지 포트, 목적지 IP, 목적지 포트, 프로토콜 번호) 로 처리합니다. 각 튜플 항목별 커널 파라미터 구문은 다음과 같습니다(Scalable Platform Expert mode에선 g_fw ...).

튜플 항목커널 파라미터 구문
출발지 IPfw ctl set str simple_debug_filter_saddr_<N> "<IPv4 or IPv6 Address>"
출발지 포트fw ctl set int simple_debug_filter_sport_<N> <1-65535>
목적지 IPfw ctl set str simple_debug_filter_daddr_<N> "<IPv4 or IPv6 Address>"
목적지 포트fw ctl set int simple_debug_filter_dport_<N> <1-65535>
프로토콜 번호fw ctl set int simple_debug_filter_proto_<N> <0-254>

규칙을 정확히 이해해야 필터가 의도대로 동작합니다.

  1. <N> 은 1~5 사이 정수 로, 이 타입 파라미터의 색인(index)입니다.
  2. IP 주소는 반드시 큰따옴표로 감쌉니다.
  3. 같은 색인 <N> 으로 여러 파라미터를 설정하면 그들 사이는 논리 "AND" 입니다. 이때 필터는 연결의 한 방향만 매칭합니다.
    • 예1 — 출발지 X → 목적지 Y 패킷: simple_debug_filter_saddr_1 <X> AND simple_debug_filter_daddr_1 <Y>
    • 예2 — 출발지 X → 목적지 포트 Y 패킷: simple_debug_filter_saddr_1 <X> AND simple_debug_filter_dport_1 <Y>
  4. 다른 색인 <N> 으로 설정하면 그들 사이는 논리 "OR" 입니다. 양방향을 모두 보려면 두 방향의 필터를 각각 설정해야 한다는 뜻입니다.
    • 예1 — 출발지 X 이거나 목적지 Y 패킷: simple_debug_filter_saddr_1 <X> OR simple_debug_filter_daddr_2 <Y>
    • 예2 — 출발지 X 이거나 목적지 포트 Y 패킷: simple_debug_filter_saddr_1 <X> OR simple_debug_filter_dport_2 <Y>
  5. 포트 번호는 IANA Service Name and Port Number Registry, 프로토콜 번호는 IANA Protocol Numbers를 참고합니다.

"하나의 IP 주소 파라미터로" 거르는 필터

출발지든 목적지든 어느 쪽이든 그 IP 가 들어간 패킷을 매칭합니다.

fw ctl set str simple_debug_filter_addr_<N> "<IPv4 or IPv6 Address>"

Scalable Platform Security Group Expert mode에선 g_fw ctl set str ....

"VPN 피어 파라미터로" 거르는 필터

하나의 IP 주소로 거릅니다.

fw ctl set str simple_debug_filter_vpn_<N> "<IPv4 or IPv6 Address>"

Scalable Platform Security Group Expert mode에선 g_fw ctl set str ....

모든 디버그 필터 끄기

설정한 모든 타입의 필터를 한 번에 끕니다.

fw ctl set int simple_debug_filter_off 1

Scalable Platform Security Group Expert mode에선 g_fw ctl set int simple_debug_filter_off 1.

사용 예 — 양방향 한 연결만 보기

출발지 192.168.20.30(임의 포트) → 목적지 172.16.40.50:80 연결을 디버그에 담고 싶다고 합시다. 디버그를 시작하기 전에 다음을 실행합니다.

fw ctl set int simple_debug_filter_off 1
fw ctl set str simple_debug_filter_saddr_1 "192.168.20.30"
fw ctl set str simple_debug_filter_daddr_1 "172.16.40.50"
fw ctl set str simple_debug_filter_saddr_2 "172.16.40.50"
fw ctl set str simple_debug_filter_daddr_2 "192.168.20.30"
fw ctl set int simple_debug_filter_dport_1 80
fw ctl set int simple_debug_filter_sport_2 80

커널 디버그 절차(Kernel Debug Procedure)

전체 단계는 다음과 같습니다(Scalable Platform Security Group에선 각 명령에 g_fw ...).

단계지시
1SSH 또는 콘솔로 명령줄 접속(SP는 Security Group).
2Expert mode 로그인.
3디버그 옵션 리셋: fw ctl debug 0.
4디버그 필터 리셋: fw ctl set int simple_debug_filter_off 1.
5필요한 디버그 필터 설정("커널 디버그 필터" 참고).
6CoreXL Firewall 인스턴스마다 버퍼 할당: fw ctl debug -buf 8200.
7버퍼가 할당됐는지 확인: `fw ctl debug \grep buffer`.
8모듈에 플래그 켜기: `fw ctl debug -m <module> {all \+ <flags>}`("모듈·플래그" 참고).
9켜진 플래그 확인: fw ctl debug -m <module>.
10출력을 파일로 저장(아래).
11문제를 재현하거나, 문제가 발생하기를 기다림.
12수집 중지: CTRL+C.
13디버그 옵션 리셋: fw ctl debug 0.
14디버그 필터 리셋: fw ctl set int simple_debug_filter_off 1.
15출력 파일 /var/log/kernel_debug.txt 를 내 컴퓨터로 전송.
16출력 파일 분석.

10단계 — 출력 파일로 저장:

# 신규 커널 디버그 모드
fw ctl ndebug -T -o /var/log/kernel_debug.txt

# 기존 커널 디버그 모드
fw ctl kdebug -T -f > /var/log/kernel_debug.txt

Scalable Platform Security Group에선 각각 g_fw ctl ndebug -T -o ..., g_fw ctl kdebug -T -f > ....

16단계 분석 예 — 연결 192.168.20.30:<Any> --> 172.16.40.50:80:

[Expert@GW:0]# fw ctl debug 0
Defaulting all kernel debugging options
Debug state was reset to default.
[Expert@GW:0]# fw ctl set int simple_debug_filter_off 1
[Expert@GW:0]# fw ctl set str simple_debug_filter_saddr_1 "192.168.20.30"
[Expert@GW:0]# fw ctl set str simple_debug_filter_daddr_2 "192.168.20.40"
[Expert@GW:0]# fw ctl set int simple_debug_filter_dport_1 80
[Expert@GW:0]# fw ctl debug -buf 8200
Initialized kernel debugging buffer to size 8192K
[Expert@GW:0]# fw ctl debug | grep buffer
Kernel debugging buffer size: 8192KB
[Expert@GW:0]# fw ctl debug -m fw + conn drop
Updated kernel's debug variable for module fw
Debug flags updated.
[Expert@GW:0]# fw ctl debug -m fw
Kernel debugging buffer size: 8192KB
Module: fw
Enabled Kernel debugging options: error warning conn drop
Messaging threshold set to type=Info freq=Common
[Expert@GW:0]# fw ctl kdebug -T -f > /var/log/kernel_debug.txt
... ... Replicate the issue, or wait for the issue to occur ... ...
... ... Press CTRL+C ... ...
[Expert@GW:0]# fw ctl debug 0
Defaulting all kernel debugging options
Debug state was reset to default.
[Expert@GW:0]# fw ctl set int simple_debug_filter_off 1
[Expert@GW:0]# ls -l /var/log/kernel_debug.txt
-rw-rw---- 1 admin root 1630619 Apr 12 19:49 /var/log/kernel_debug.txt
[Expert@GW:0]#

연결 수명주기를 곁들인 커널 디버그 절차(Connection Life Cycle)

Connection Life Cycle 은 디버그 도구입니다. Ruby 형식의 형식화된(formatted) 출력 파일 을 만들어 메시지를 연결·패킷별로 계층적 으로 보여 줍니다 — 첫 계층은 연결, 연결을 펼치면 그 연결의 모든 패킷이 나옵니다.

게이트웨이/각 Cluster Member 구문

# 디버그 캡처 시작
conn_life_cycle.sh -a start -o /<Path>/<Name of Raw Debug Output File> [{-t | -T}] [[-f "<Filter1>"] [-f "<Filter2>"] [-f "<Filter3>] [-f "<Filter4>] [-f "<Filter5>"]]

# 중지 후 형식화된 출력 준비
conn_life_cycle.sh -a stop -o /<Path>/<Name of Formatted Debug Output File>

Scalable Platform Security Group 구문 — 앞에 g_all 을 붙입니다.

g_all conn_life_cycle.sh -a start -o /<Path>/<Name of Raw Debug Output File> [{-t | -T}] [[-f "<Filter1>"] ... [-f "<Filter5>"]]
g_all conn_life_cycle.sh -a stop -o /<Path>/<Name of Formatted Debug Output File>

conn_life_cycle.sh 파라미터

파라미터설명
-a start / -a stop(필수) 동작. start = 켠 플래그·지정 필터로 캡처 시작. stop = 캡처 중지, 디버그 옵션·필터를 리셋.
-t \-T(선택) 타임스탬프 해상도. -t = 밀리초, -T = 마이크로초. Best Practice — 분석을 쉽게 하려고 항상 -T.
-f "<Filter>"(선택) 캡처할 연결·패킷("커널 디버그 필터" 참고). 필터를 안 주면 모든 트래픽을 출력해 CPU 부하가 높고 형식화 시간도 길어짐. 각 필터는 콤마로 구분한 5-tuple: "<Source IP>,<Source Port>,<Destination IP>,<Destination Port>,<Protocol Number>". 예(TCP, 임의 포트 → 172.16.40.50:22): -f "192.168.20.30,0,172.16.40.50,22,6". 최대 5개 지원, 값 0은 "any", 둘 이상이면 패킷마다 논리 "OR"(하나라도 맞으면 출력). 포트는 1~65535, 프로토콜은 0~254.
-o /<Path>/<Name of Raw Debug Output File>(필수) 원시(raw) 출력 파일 의 절대 경로·이름. 예 -o /var/log/kernel_debug.txt.
-o /<Path>/<Name of Formatted Debug Output File>(필수) 관리자가 분석할 형식화된 출력 파일 의 절대 경로·이름. 예 -o /var/log/kernel_debug_formatted.txt.

절차

  1. 명령줄 접속(SSH 또는 콘솔). Best Practice — 콘솔 접속. Scalable Platform 참고 — SSH면 해당 Security Group에, 시리얼 콘솔이면 SMO(Single Management Object) 로 동작하는 Security Group Member 에 접속.
  2. Expert mode 로그인(기본 셸이 Gaia Clish면 expert).
  3. 모듈에 플래그 켜기: fw ctl debug -m <module> {all | + <flags>}(SP: g_fw ...).
  4. 켜진 플래그 확인: fw ctl debug -m <module>(SP: g_fw ...).
  5. 캡처 시작:
   conn_life_cycle.sh -a start -o /var/log/kernel_debug.txt -T -f "<Filter1>" [... [-f "<FilterN>"]]
   

(SP: g_all conn_life_cycle.sh -a start -o /var/log/kernel_debug.txt -T -f "<Filter1>" ...) 6. 문제 재현 또는 발생 대기. 7. 중지 후 형식화 출력 준비:

   conn_life_cycle.sh -a stop -o /var/log/kernel_debug_formatted.txt
   

(SP: g_all conn_life_cycle.sh -a stop -o /var/log/kernel_debug_formatted.txt) 8. 출력 파일 /var/log/kernel_debug.txt 를 내 컴퓨터로 전송. Best Practicetar -zxvf 로 압축, FTP는 바이너리 모드. 9. 내 컴퓨터에서 형식화된 파일을 Notepad++ 같은 편집기(Language > R > Ruby) 나 Ruby 뷰어로 분석.

예시 — TCP 연결, 172.20.168.15(임의 포트) → 192.168.3.53:22:

[Expert@GW:0]# fw ctl debug -m fw + conn drop
Updated kernel's debug variable for module fw
Debug flags updated.
[Expert@GW:0]# fw ctl debug -m fw
Kernel debugging buffer size: 50KB
HOST:
Module: fw
Enabled Kernel debugging options: error warning conn drop
Messaging threshold set to type=Info freq=Common
[Expert@GW:0]# conn_life_cycle.sh -a start -o /var/log/kernel_debug.txt -T -f "172.20.168.15,0,192.168.3.53,22,6"
Set operation succeeded
... (Set operation succeeded 반복) ...
Initialized kernel debugging buffer to size 8192K
Set operation succeeded
Capturing started...
[Expert@GW:0]#
... ... Replicate the issue, or wait for the issue to occur ... ...
[Expert@GW:0]# conn_life_cycle.sh -a stop -o /var/log/kernel_debug_formatted.txt
Set operation succeeded
Defaulting all kernel debugging options
Debug state was reset to default.
Set operation succeeded
doing unification...
Openning host debug file /tmp/tmp.KiWmF18217... OK
New unified debug file: /tmp/tmp.imzMZ18220... OK
prepare unification
performing unification
Done :-)
doing grouping...
wrapping connections and packets...
Some of packets lack description, probably because they were already handled when the feature was enabled.
[Expert@GW:0]# fw ctl debug -m fw
Kernel debugging buffer size: 50KB
HOST:
Module: fw
Enabled Kernel debugging options: error warning
Messaging threshold set to type=Info freq=Common
[Expert@GW:0] ls -l /var/log/kernel_debug.*
-rw-rw---- 1 admin root 40960 Nov 26 13:02 /var/log/kernel_debug.txt
-rw-rw---- 1 admin root 24406 Nov 26 13:02 /var/log/kernel_debug_formatted.txt

Notepad++에서 열면, 처음에는 모두 접혀 있고([+]) 첫 계층을 펼치면 연결이, 둘째 계층을 펼치면 그 연결의 패킷들이 보입니다. 한 패킷이 INBOUND → CHAIN_MODULES_ENTER → VM_ENTER → POST VM_ENTER → CPAS_ENTER → ... → ACCEPTED 식으로 체인 단계마다 시각·CPU·인스턴스([cpu_2];[fw4_1])와 동작 을 남기는 모습을 한눈에 추적할 수 있습니다.

커널 디버그 모듈과 디버그 플래그(Kernel Debug Modules and Debug Flags)

사용 가능한 모듈·플래그를 보려면 다음을 실행합니다(Scalable Platform Expert mode에선 g_fw ctl debug -m).

fw ctl debug -m

각 모듈은 fw ctl debug -m <module> + {all | <List of Debug Flags>}(SP: g_fw ...) 형식으로 플래그를 켭니다. 어떤 모듈이 보이는지는 켜진 Software Blade에 따라 달라집니다. 아래는 알파벳 순으로 정리한 전체 모듈과 그 플래그입니다.

모듈 `accel_apps` (Accelerated Applications)

플래그설명
av_liteContent Inspection(Anti-Virus) Lite 애플리케이션 — 패킷 처리 일반 정보
cmi_liteCMI Lite 애플리케이션 — 패킷 처리 일반 정보
daf_liteMirror and Decrypt Lite 애플리케이션 — 패킷 처리 일반 정보
daf_lite_dumpMirror and Decrypt Lite — 내부 버퍼 내용 출력
error일반 오류
info일반 정보
rad_liteResource Advisor Lite — 내부 연결 처리 일반 정보
warning일반 경고

모듈 `accel_pm_mgr` (Accelerated Pattern Match Manager)

플래그설명
debugAccelerated Pattern Match Manager 모듈 동작
error일반 오류·실패
flow함수의 내부 흐름
submit_error분석용 데이터 제출 실패 일반
warning일반 경고·실패

모듈 `APPI` (Application Control Inspection)

플래그설명
account어카운팅 정보
address연결의 IP 주소 정보
btimeBrowse time
connectionApplication Control 연결
coverageCoverage 시간(진입·차단·소요)
error일반 오류
global전역 정책 동작
info일반 정보
limitApplication Control 한도
memory메모리 할당 동작
moduleApplication Control 모듈 동작(초기화·로딩·호출·정책 로딩 등)
observerClassification Object(CLOB) 옵서버(데이터 분류)
policyApplication Control 정책
referrerApplication Control referrer
subject각 메시지의 디버그 subject 출력
timestamp각 메시지에 타임스탬프 출력(coverage 켜면 바뀜)
urlf_sslSSL용 Application Control·URL Filtering
verbose추가 정보 출력(다른 플래그와 함께)
vs디버그 중인 Virtual System의 VSID 출력
warning일반 경고

모듈 `BOA` (Boolean Analyzer for Web Intelligence)

플래그설명
analyzerBOA 모듈 동작
disasm디스어셈블러 정보
error일반 오류
fatal치명적 오류
flowBOA 모듈 동작
info일반 정보
lockFireWall 커널 내부 락 정보
memory메모리 할당 동작
spider내부 해시 테이블
stat통계
stream스트림 데이터 처리 시 메모리 할당
warning일반 경고

모듈 `CI` (Content Inspection)

플래그설명
address연결 주소 출력(Source_IP:Source_Port -> Dest_IP:Dest_Port)
avAnti-Virus 검사
coverageCoverage 시간
crypto암·복호화 기본 정보
error일반 오류
fatal치명적 오류
filterURL 필터 기본 정보
info일반 정보
ioctl현재 사용 안 함
memory메모리 할당 동작
moduleContent Inspection 모듈 동작
policyContent Inspection 정책
profile모듈 기본 정보(초기화·소멸·해제)
regexp정규식 라이브러리
session세션 레이어
statContent Inspection 통계
subject각 메시지의 디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
track부하가 큰 환경에서도 쓸 수 있는 매우 제한된 중요 출력만 — Content-Disposition·Content-Type·확장자 검증/매칭
ufURL 필터·URL 캐시
vsVSID 출력
warning일반 경고

모듈 `cluster` (ClusterXL)

플래그설명
arpARP 포워딩(sk111956)
autoccpAuto 모드 CCP 동작
balanceLoad Sharing Unicast(Pivot) 모드 동작
ccpCluster Control Protocol(CCP) 패킷 송·수신
cloudCloudGuard IaaS의 프로브 패킷 응답
conf클러스터 구성·정책 설치
correctionCorrection Layer
cuConnectivity Upgrade(sk107042)
drop클러스터 Decision Function(DF)이 드롭한 연결(CCP 패킷 제외)
forwardForwarding Layer 메시지
if인터페이스 추적·검증
ifstate인터페이스 상태
io클러스터 인터페이스로의 패킷 전송 정보
log클러스터의 로그 생성·전송(추가로 fw 모듈 log 도 켤 것)
mac클러스터 인터페이스 구성·탐지(추가로 이 모듈 conf·if 도 켤 것)
mmagic"MAC magic" 동작(획득·설정·갱신·초기화·드롭 등)
msgCluster Member 간 내부 메시지 처리
multikCoreXL Firewall 인스턴스의 연결 처리(추가로 multik 모듈 참고. QoS 사용 시 fg 모듈 multik 도 켤 것)
osp(SP 전용) Security Group Member 간 연결 분배
pnoteCritical Devices(pnotes) 등록·모니터링
select패킷 선택(Decision Function 포함)
smo(SP 전용) SMO Security Group Member의 연결 처리
statCluster Member 상태(상태 머신)
subsSubscriber 모듈(사용자 공간 프로세스가 ClusterXL 상태를 알게 하는 API 집합)
timer클러스터 내부 타이머 보고
trapMaster 변경에 대해 클러스터 커널 → RouteD 데몬 트랩 전송
unisync(SP 전용) Unicast Sync — 백업 멤버로의 연결 동기화
vpnVPN 연결 처리

모듈 `cmi_loader` (Context Management Interface / Infrastructure Loader)

플래그설명
address연결 IP 주소 정보
connection연결 관련 내부 메시지
coverageCoverage 시간
cpcodeDLP CPcode(추가로 cpcode 모듈 참고)
error일반 오류
global_states사용자 공간 전역 상태 구조체
info일반 정보
inspectINSPECT 코드
memory메모리 할당 동작
moduleCMI Loader 모듈 동작(초기화·로딩·호출·컨텍스트 등)
parsers_is모듈 파서 인프라
policy정책 설치
sigload시그니처·패턴·범위
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
verbose추가 정보 출력
vsVSID 출력
warning일반 경고

모듈 `CPAS` (Check Point Active Streaming)

플래그설명
api인터페이스 레이어 메시지
conns연결 상세·연결 한도 관련 메시지
cpconntim내부 타이머 정보
error일반 오류
events이벤트 관련 메시지
ftpFTP 예제 서버 메시지
glueGlue 레이어 메시지
httpHTTP 예제 서버 메시지
icmpICMP 예제 서버 메시지
notifyE-mail Messaging Security 애플리케이션
pkts패킷 처리 메시지(할당·분할·크기 조정 등)
skinnySkinny Client Control Protocol(SCCP) 연결 처리
sync클러스터 동기화 동작(추가로 fw 모듈 sync 참고)
tcpTCP 처리 메시지
tcpinfoTCP 처리 메시지 — 더 상세
timer내부 타이머 틱 보고 (경고 — 실내용 없는 메시지 다수 출력)
warning일반 경고

모듈 `cpcode` (Data Loss Prevention - CPcode)

플래그설명
cplogCheck Point 로그용 이름·IP 주소 해석
csvCSV 파일 생성
echoCPcode 모듈을 호출한 함수 출력
error일반 오류
initCPcode 시스템 초기화
ioCPcode 모듈 입출력 기능
ioctl커널로의 IOCTL 제어 메시지
kisspmKernel Infrastructure Pattern Matcher
memory메모리 할당 동작
persist영속 도메인 동작
policy정책 동작
run정책 동작
urlURL 동작
vmVirtual Machine 실행
warning일반 경고

모듈 `CPSSH` (SSH Inspection)

R80.40에서 도입된 SSH Deep Packet Inspection(SSH 암·복호화, SFTP/SCP 파일 추출, SSH 포트 포워딩 차단 등). 자세히는 R82 Threat Prevention Administration Guide.

플래그설명
authentication인증 상세 정보
binary_packet패킷 상세 정보
conn_proto연결 상세 정보
crypto암·복호화(추가로 crypto 모듈 참고)
dump연결 버퍼 덤프
error일반 오류
info일반 정보
mux_auth_app인증 정보(추가로 MUX 모듈 참고)
mux_conn_app연결 정보(추가로 MUX 모듈 참고)
mux_decrypt_app연결 복호화 정보(추가로 MUX 모듈 참고)
mux_encrypt_app연결 암호화 정보(추가로 MUX 모듈 참고)
mux_inf내부 흐름(추가로 MUX 모듈 참고)
mux_ssh_parser_app현재 사용 안 함
mux_stream내부 흐름(추가로 MUX 모듈 참고)
probe연결 정보
session내부 흐름
sftp_parserSFTP/SCP 연결 파서
state_machine모듈 State Machine 정보
trans_proto클라이언트·서버 통신 정보
warning일반 경고

모듈 `crypto` (SSL Inspection)

플래그설명
error일반 오류
info일반 정보
warning일반 경고

모듈 `dlpda` (DLP - Download Agent for Content Awareness)

플래그설명
address연결 IP 주소 정보
cmiCMI 동작
coverageCoverage 시간
ctxDLP 컨텍스트 동작
engineContent Awareness 엔진 모듈
error일반 오류
filecacheContent Awareness 파일 캐싱
info일반 정보
memory메모리 할당 동작
mngr현재 사용 안 함
moduleContent Awareness 인프라 생성/제거
observerCLOB 옵서버(데이터 분류)
policyContent Awareness 정책
slowpath현재 사용 안 함
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
verbose추가 정보 출력
vsVSID 출력
warning일반 경고

모듈 `dlpk` (DLP - Kernel Space)

플래그설명
cmiHTTP Proxy·연결 리디렉션·신원 정보·Async
drvDLP 검사
error일반 오류
identity사용자/연결 신원·Async
rulebaseDLP 룰베이스 매치
stat카운터 통계

모듈 `dlpuk` (DLP - User Space)

플래그설명
address연결 IP 주소 정보
buffer현재 사용 안 함
coverageCoverage 시간
error일반 오류
info일반 정보
memory메모리 할당 동작
moduleDLP 사용자 공간 모듈 인프라 생성/제거
policy현재 사용 안 함
serialize데이터 버퍼·데이터 크기
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
verbose추가 정보 출력
vsVSID 출력
warning일반 경고

모듈 `DOMO` (Domain Objects)

플래그설명
address연결 IP 주소 정보
conn연결의 내부 처리
coverageCoverage 시간
error일반 오류
info일반 정보
memory메모리 할당 동작
moduleDomain Objects 모듈 동작
policy현재 사용 안 함
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
verbose추가 정보 출력
vsVSID 출력
warning일반 경고

모듈 `fg` (FloodGate-1 - QoS)

플래그설명
chaincookie chain에서 각 패킷의 FloodGate-1 단계 추적
chainq내부 Chain Queue 메커니즘(정책 설치/해제 중 패킷 보류·해제)
classify연결을 QoS 규칙으로 분류
conn연결 처리·식별
dnsDNS 분류 메커니즘
dropsWFRED 정책에 의한 드롭 패킷
dropsvWFRED 드롭 패킷 — 추가 정보(verbose)
error일반 오류
flow연결 내부 흐름(방향·인터페이스·버퍼 등)
fwrate인터페이스·방향별 비율 통계
general현재 사용 안 함
install정책 설치
llqLow latency queuing
log로그 호출 관련 전반
lsLoad Sharing 모드 ClusterXL의 연결 처리
memory메모리 할당 동작
multikCoreXL Firewall 인스턴스 연결 처리(추가로 multik 모듈; 클러스터는 cluster 모듈 multik; VPN은 VPN 모듈 multik)
pkt패킷 기록 메커니즘
policyQoS 정책 규칙 매칭
qosaccelQoS 트래픽 가속
rates규칙·연결 비율(IQ Engine 동작·상태)
rtmReal Time Monitoring 모듈 정보 수집 실패(추가로 RTM 모듈 참고)
sched기본 스케줄링 정보
tcpTCP 스트리밍(재전송 탐지) 메커니즘
time현재 사용 안 함
timers내부 타이머 틱 보고 (경고 — 실내용 없는 메시지 다수)
urlQoS 분류용 URL·URI
verbose추가 정보 출력

모듈 `FILE_SECURITY` (File Inspection)

플래그설명
conn연결의 내부 처리
cache파일 캐시
coverageCoverage 시간
error일반 오류
global전역 동작
info일반 정보
memory메모리 할당 동작
moduleFILE_SECURITY 모듈 동작(연결 식별·처리)
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
verbose추가 정보 출력
vsVSID 출력
warning일반 경고

모듈 `FILEAPP` (File Application)

플래그설명
address연결 IP 주소 정보
coverageCoverage 시간
error일반 오류
filetype파일 타입 처리 정보
global전역 객체 할당·생성
info일반 정보
memory메모리 할당 동작
moduleFILEAPP 모듈 동작
normalize파일 정규화 동작(내부)
parser파일 파싱
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
upload파일 업로드 동작
verbose추가 정보 출력
vsVSID 출력
warning일반 경고

모듈 `fw` (Firewall)

방화벽의 핵심 모듈로 플래그가 가장 많습니다.

플래그설명
acctApplication Control 로그의 어카운팅 데이터(추가로 APPI 모듈)
advpAdvanced Patterns(포트 범위 시그니처) — ASPII·CMI 아래 동작
aspiiAccelerated Stateful Protocol Inspection Infrastructure(INSPECT 스트리밍)
balanceConnectControl — 커널 내 논리 서버, 부하 분산
bridgeBridge 모드
bypass_timer부하 중 CoreXL Firewall 인스턴스의 Universal Bypass
cafMirror and Decrypt — 모든 트래픽의 미러 동작만
cgnatCarrier Grade NAT(CGN/CGNAT)
chainConnection Chain 모듈, cookie chain
chainfwdChain forwarding(클러스터 파라미터 fwha_perform_chain_forwarding 관련)
cifsMicrosoft CIFS 프로토콜 처리
citrixCitrix 연결 처리
cmiCMI — IPS 시그니처 매니저
conn모든 연결 처리
connstatsCPView의 Heavy Connections 평가용 연결 통계(sk105762)
contentAnti-Virus 콘텐츠 검사
contextkiss 모듈의 Memory/CPU 컨텍스트 동작
cookie가상 단편화 해제, cookie 문제
corrCorrection layer
cpsshiSSH Inspection (중요 — 추가로 CPSSH 모듈의 모든 플래그 켤 것)
cptlsCRYPTO-PRO TLS(HTTPS Inspection) — Russian VPN GOST
crypt패킷 암·복호화(알고리즘·키가 평문/암호문으로 출력)
cvpndMobile Access 데몬이 다루는 연결 처리
dfilter디버그 필터 동작("커널 디버그 필터" 참고)
dlpDLP 연결 처리
dmdFWK 프로세스 → DMD(Dual Mode Job Dispatcher)로의 연결 오프로딩 정보
dnstunDNS 터널
domainDNS 쿼리
dosDDoS 공격 완화(IPS 일부)
driverCheck Point 커널 어태치먼트
drop(거의) 모든 드롭 패킷의 이유
drop_tmplDrop Templates 동작
dynlog동적 로그 향상(INSPECT 로그)
epqEnd Point Quarantine(및 AMD)
error일반 오류
eventEvent App 기능(DNS·HTTP·SMTP·FTP)
ex동적 커널 테이블의 만료(time-out) 문제
fast_accel연결의 Fast acceleration
filter커널의 패킷 필터링·커널에 로드된 모든 데이터
ftpFTP Data 연결 처리
handlersCMI Loader 관련 동작(추가로 cmi_loader 모듈)
highavail클러스터 구성 — 구성 변경·트래픽 처리 중 인터페이스 정보
hold보류 메커니즘·보류/해제되는 모든 패킷
icmptunICMP 터널
if인터페이스 관련 정보
install드라이버 설치 — NIC 어태치먼트(fw ctl install/uninstall)
integrityIntegrity Client(강제 협력)
ioctlIOCTL 제어 메시지(커널·데몬 통신, FireWall 로드/언로드)
ipoptIP Options 강제
ipsIPS 로그·IPS IOCTL
ipv6IPv6 트래픽 처리
kbuf커널 버퍼 메모리 풀(예: 암호화 키)
ld커널 동적 테이블 인프라(테이블 읽기/쓰기) (경고 — 매우 높은 CPU 부하로 게이트웨이가 멈출 수 있음!)
leaks메모리 누수 탐지 메커니즘
linkConnections 커널 테이블(ID 8158)의 링크 생성
log로그 호출 관련 전반
machineINSPECT Virtual Machine(실제 어셈블러 명령 처리) (경고 — 매우 높은 CPU 부하로 멈출 수 있음!)
mailPOP3·IMAP 이메일 문제
malware연결을 Threat Prevention 레이어(다중 룰베이스)로 매칭(추가로 MALWARE 모듈)
mdpsManagement Data Plane Separation(sk138672)
media더 이상 해당 없음(Windows OS 게이트웨이 전용 TDI 정보)
memory메모리 할당 동작
mgcpMedia Gateway Control Protocol(H.323·SIP 보완)
misc기타 유용 정보(다른 플래그로는 안 나옴)
mispISP Redundancy
monitorfw monitor 와 비슷한 출력(추가로 이 모듈 misc 켤 것)
monitorallfw monitor -p all 과 비슷한 출력(추가로 misc 켤 것)
mrtsync동적 라우팅 멀티캐스트 시 Cluster Member 간 멀티캐스트 라우트 동기화
msnmsMSN over MSMS(MSN Messenger) — 항상 이 모듈 sip 도 켤 것
multikCoreXL Firewall 인스턴스 연결 처리(이 플래그는 multik 모듈의 packet 빼고 전 플래그를 켬. 클러스터는 cluster 모듈, VPN은 VPN 모듈, QoS는 fg 모듈의 multik 도 켤 것)
nacIdentity Awareness의 Network Access Control(NAC)
natNAT 기본 정보
nat_hitcountNAT Rule Base의 Hit Count
nat_sync클러스터 내 NAT 포트 할당 동작
nat646in4·4in6 터널
netquotaIPS 보호 "Network Quota"
ntupNon-TCP/Non-UDP 트래픽 정책(파서)
packet패킷에 대한 동작(Accept·Drop·Fragment)
packval무상태 검증(시퀀스·단편·변환·헤더 검증)
portscan포트 스캐닝 방지
profFirewall Priority Queues용 연결 프로파일러(sk105762)
q드라이버 큐(예: 클러스터 동기화) — 클러스터 동기화 문제 디버그에 결정적
qosQoS(FloodGate-1)
radResource Advisor 정책(Application Control·URL Filtering 등)
route라우팅 문제 — ISP Redundancy 디버그에 결정적
samSuspicious Activity Monitoring
sctpSCTP 연결 처리
scvSecureClient Verification
shmem현재 사용 안 함
sipVoIP 트래픽 — SIP·H.323(추가로 h323·WS_SIP 모듈)
smtpSMTP 이메일 문제
sockSockstress TCP DoS 공격(CVE-2008-4609)
spanMonitor 모드(mirror/span 포트)
spiiStateful Protocol Inspection Infrastructure·INSPECT Streaming Infrastructure
synatkIPS 보호 'SYN Attack'(SYNDefender)(추가로 synatk 모듈)
sync클러스터 동기화 동작(추가로 CPAS 모듈 sync)
tcpstrTCP 스트리밍 메커니즘
teThreat Emulation Machine에서 오는 연결의 인터페이스 이름 출력
tlsparser현재 사용 안 함
tp_containerThreat Prevention 컨테이너 동작
uaUniversal Alcatel "UA" 연결 처리
ucd클러스터 내 UserCheck 연결 처리
unibypass부하 중 CoreXL Firewall 인스턴스 Universal Bypass
user사용자 공간 ↔ 커널 공간 통신(구성·VSX 디버그에 유용)
vmfw_filter_chain 을 지나는 트래픽의 Virtual Machine 체인 결정
wapWireless Application Protocol(WAP) 연결 처리
warning일반 경고
wireWire-mode Virtual Machine 체인 모듈
xlateNAT 기본 정보
xltrcNAT 추가 정보(NAT 룰베이스 통과)

모듈 `gtp` (GPRS Tunneling Protocol)

플래그설명
capacity메모리 용량·Aggressive Aging
createGTPv0/v1 PDP 컨텍스트 생성
create2GTPv2 세션 생성
dbgGTP 디버그 메커니즘
deleteGTPv0/v1 PDP 컨텍스트 삭제
delete2GTPv2 세션 삭제
error일반 GTP 오류
ioctlGTP IOCTL 명령
ldGTP 커널 테이블 동작(항목 추가·제거·수정)
logGTPv0/v1 로깅
log2GTPv2 로깅
modifyGTPv2 bearer 수정
otherGTPv0/v1 기타 메시지
other2GTPv2 기타 메시지
packetGTP 주 패킷 흐름
parseGTPv0/v1 파싱
parse2GTPv2 파싱
policy정책 설치
stateGTPv0/v1 디스패칭
state2GTPv2 디스패칭
sxlSecureXL의 GTP 연결 처리
tpduGTP T-PDU
updateGTPv0/v1 PDP 컨텍스트 갱신

모듈 `h323` (VoIP H.323)

플래그설명
align일반 VoIP 디버그 메시지(VoIP 인프라 등)
cpasCPAS TCP 디버그 메시지 (중요fw ctl debug -m h323 all 에는 포함되지 않음)
decodeH.323 디코더 메시지
error일반 오류
h225H225 호 신호 메시지(SETUP·CONNECT·RELEASE COMPLETE 등)
h245H245 제어 신호 메시지(OPEN LOGICAL CHANNEL·END SESSION COMMAND 등)
init내부 오류
rasH225 RAS 메시지(REGISTRATION·ADMISSION·STATUS REQUEST/RESPONSE)

모듈 `ICAP_CLIENT` (Internet Content Adaptation Protocol Client)

플래그설명
address연결 IP 주소 정보
bladeICAP Client 모듈 내부 동작
coverageCoverage 시간
cpasCPAS(추가로 CPAS 모듈)
daf_cmiHTTPS Mirror and Decrypt — CMI Loader 관련 동작(추가로 cmi_loader 모듈)
daf_moduleHTTPS Mirror and Decrypt — ICAP Client 모듈 관련
daf_policyHTTPS Mirror and Decrypt — 정책 설치 관련
daf_rulebaseHTTPS Mirror and Decrypt — 룰베이스 관련
daf_tcpHTTPS Mirror and Decrypt — TCP 연결 내부 처리
error일반 오류
globalICAP Client 모듈 전역 동작
icapICAP 연결 처리
info일반 정보
memory메모리 할당 동작
moduleICAP Client 모듈 동작
policy정책 설치
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
trickData Trickling 모드
verbose추가 정보 출력
vsVSID 출력
warning일반 경고

모듈 `IDAPI` (Identity Awareness API)

플래그설명
address연결 IP 주소 정보
async알려진 네트워크 확인
classifier데이터 분류
clobCLOB 옵서버(데이터 분류)
coverageCoverage 시간
data포털·Terminal Servers Identity Agent의 IP 매칭·세션 처리
error일반 오류
htab네트워크 IP 확인·커널 테이블 작업
info일반 정보
log내부 동작용 각종 로그
memory메모리 할당 동작
moduleIDAPI 디버그 모듈 인프라 제거·Base64 변환 실패 등
observer데이터 분류 옵서버
subject디버그 subject 출력
testIP 테스트·IDAPI 동기화
timestamp타임스탬프 출력(coverage 켜면 바뀜)
verbose추가 정보 출력
vsVSID 출력
warning일반 경고
xffX-Forwarded-For(XFF) 헤더 처리

모듈 `kiss` (Kernel Infrastructure)

플래그설명
accel_pmAccelerated Pattern Matcher
benchCPU 벤치마크
connstats연결 통계
cookie가상 단편화 해제, cookie 문제
dbg_filter설정된 디버그 필터 정보("커널 디버그 필터" 참고)
dfaPattern Matcher(DFA) 컴파일·실행
driverFireWall 드라이버 로드/언로드
error일반 오류
flofilerFLow prOFILER
ghtab멀티스레드 안전 전역 해시 테이블
ghtab_bl전역 해시 테이블 내부 동작
handles테이블용 메모리 풀 할당
htab멀티스레드 안전 해시 테이블
htab_bl해시 테이블 내부 동작
htab_bl_err해시 테이블 내부 동작 중 오류·실패
htab_bl_exp해시 테이블 만료
htab_bl_infra해시 테이블 내부 동작 중 오류·실패
htab_bl_warn해시 테이블 내부 동작 중 경고
ioctlIOCTL 제어 메시지(커널·데몬 통신)
kqstatsKernel Worker 스레드 통계
kwKernel Worker 상태·Pattern Matcher 검사
leak메모리 누수 탐지 메커니즘
memory메모리 할당 동작
memprofMemory Profiler의 메모리 할당(파라미터 fw_conn_mem_prof_enabled=1 일 때)
miscCPU·Memory 카운터, 전역 커널 파라미터 get/set
mtctx멀티스레드 컨텍스트 — 메모리 할당·참조 카운트
packet패킷의 내부 파싱 동작
pcrePerl Compatible Regular Expressions(실행·메모리 할당)
pmPattern Matcher 컴파일·실행
pmdumpPattern Matcher DFA(DFA의 XML 덤프)
pmintPattern Matcher 컴파일
pools메모리 풀 할당 동작
queueKernel Worker 스레드 큐
remRegular Expression Matcher — Pattern Matcher 2계층(느린 경로)
sallocSystem Memory 할당
shmemShared Memory 할당
smString Matcher — Pattern Matcher 1계층(빠른 경로)
stat카테고리·맵 통계
swbladeSoftware Blade 등록
thinnfa현재 사용 안 함
thread커널 스레드에 저수준 API 제공하는 커널 스레드
timers내부 타이머
usrmem사용자 공간 플랫폼 메모리 사용량
vbuf가상 버퍼
warning일반 경고
workerKernel Worker — 큐잉/디큐잉
zecoZero-Copy 커널 모듈의 메모리 할당

모듈 `kissflow` (Kernel Infrastructure Flow)

플래그설명
compilePattern Matcher(패턴 컴파일)
dfaPattern Matcher(DFA) 컴파일·실행
error일반 오류
memory메모리 할당 동작
pmPattern Matcher 일반 정보
warning일반 경고

모듈 `MALWARE` (Threat Prevention)

플래그설명
address연결 IP 주소 정보
av현재 사용 안 함
coverageCoverage 시간
error일반 오류
global$FWDIR/conf/mail_security_config 파일의 파라미터 출력
info일반 정보
iocIndicators of Compromise(IoC) 동작
memory현재 사용 안 함
moduleMALWARE 모듈 디버그 인프라 제거
policy정책 설치
subject디버그 subject 출력
te현재 사용 안 함
timestamp타임스탬프 출력(coverage 켜면 바뀜)
verbose추가 정보 출력
vsVSID 출력
warning일반 경고

모듈 `multik` (Multi-Kernel Inspection - CoreXL)

플래그설명
api교차 인스턴스 함수 호출 등록/해제
cache_tab캐시 테이블 인프라
conn디스패처 테이블의 연결 생성·삭제
counter교차 인스턴스 카운터 인프라
dumbo선택된 CoreXL Firewall 인스턴스 표시
error일반 오류
event교차 인스턴스 이벤트 집계 인프라
fwstats방화벽 통계
ioctl여러 CoreXL Firewall 인스턴스로 IOCTL 분배
lock여러 인스턴스의 fw_lock 획득·해제
message교차 인스턴스 메시지(로컬 sync·포트 스캔용)
packet각 패킷의 CoreXL SND 디스패칭 결정(인스턴스·이유)
packet_errCoreXL SND가 디스패칭 결정 못 한 잘못된 패킷
prioFirewall Priority Queues(sk105762)
queue패킷 큐
quota교차 인스턴스 쿼터 테이블(Network Quota용)
route패킷 라우팅
stateCoreXL Firewall 인스턴스 시작·정지, 인스턴스 간 관계 수립
temp_conns임시 연결
uid교차 인스턴스 Unique ID
vpn_multikMultiCore VPN(sk118097)

모듈 `MUX` (Multiplexer for Applications Traffic)

R80.20에서 Streaming 레이어와 Applications 레이어 사이에 도입된 새 레이어입니다. 애플리케이션은 MUX를 통해 Streaming 레이어에 등록되며, MUX는 PSL(passive streaming) 또는 CPAS(active streaming) 중 무엇으로 동작할지 선택합니다.

플래그설명
activeCPAS(active streaming)(추가로 CPAS 모듈)
advpAdvanced Patterns(포트 범위 시그니처)
apiAPI 호출
comm연결 열림·닫힘 정보
error일반 오류
http_dispHTTP Dispatcher
misc기타 유용 정보
passivePSL(passive streaming)(추가로 PSL 모듈)
proxy_tpProxy 터널 파서
stream데이터 스트림 일반 정보
test현재 사용 안 함
tier1Pattern Matcher 1계층(빠른 경로)
tlsTLS 일반 정보
tlspTLS 파서
tolTest Object List 알고리즘(애플리케이션 악성 여부 판단)
udpUDP 파서
warning일반 경고
wsWeb Intelligence

모듈 `NRB` (Next Rule Base)

플래그설명
address연결 IP 주소 정보
appi규칙·애플리케이션(추가로 APPI 모듈)
coverageCoverage 시간
dlpData Loss Prevention(추가로 dlpda·dlpk·dlpuk 모듈)
error일반 오류
info일반 정보
match규칙 매칭
memory메모리 할당 동작
moduleNRB 모듈 동작
policy정책 설치
sec_rbSecurity 룰베이스
session세션 레이어
ssl_inspHTTPS Inspection
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
verbose추가 정보 출력
vsVSID 출력
warning일반 경고

모듈 `PSL` (Passive Streaming Library)

플래그설명
drop드롭된 패킷 정보
error일반 오류
pkt패킷 처리
seqTCP 시퀀스 번호 처리
stats각 PSL 연결 통계 출력
tcpstrTCP 스트림 처리
warning일반 경고

모듈 `RAD_KERNEL` (Resource Advisor - Kernel Space)

플래그설명
address연결 IP 주소 정보
cacheRAD 커널 malware 캐시
coverageCoverage 시간
error일반 오류
globalRAD 전역 컨텍스트
info일반 정보
malmismalware 캐시 미스 정보
memory메모리 할당 동작
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
verbose추가 정보 출력
vsVSID 출력
warning일반 경고

모듈 `RTM` (Real Time Monitoring)

플래그설명
accel가속된 패킷·연결 등 SecureXL 정보 출력
chain체인 등록·E2E(Virtual Link) 체인 함수 동작 정보(E2E의 Virtual Link 패킷 식별 여부 확인에 유용)
con_conn각 연결당 메시지(RTM이 새 연결 처리 시). per_conn 과 동일
driverCheck Point 커널 어태치먼트
err일반 오류
import다른 커널 모듈(FireWall·QoS)에서 데이터 임포트
initRTM 모듈 초기화
ioctlIOCTL 제어 메시지
netmasksNetwork 타입 객체 모니터링 시 RTM의 넷마스크 처리
per_conn각 연결당 메시지. con_conn 과 동일
per_pckt각 패킷당 메시지(새 패킷 도착 시) (경고 — 메시지가 많아 CPU 부하 증가)
performance현재 사용 안 함
policyFireWall 모듈 로드/언로드 메시지
rtmReal time monitoring
s_err커널 테이블·기타 실패 관련 일반 오류
sort"Top XXX" 카운터 정렬
specialE2E가 E2ECP 프로토콜 패킷을 수정하는 방식
tabs현재 사용 안 함
topo네트워크 토포그래피 계산
view_addView 추가·삭제
view_updateView를 새 정보로 갱신
view_update1View를 새 정보로 갱신
wdWebDefense view

모듈 `seqvalid` (TCP Sequence Validator and Translator)

플래그설명
error일반 오류
seqvalTCP 시퀀스 검증·변환
sock현재 사용 안 함
warning일반 경고

모듈 `SFT` (Stream File Type)

플래그설명
error일반 오류
fatal치명적 오류
info일반 정보
mgr규칙 매치·데이터베이스·연결 처리·분류
warning일반 경고

모듈 `SGEN` (Struct Generator)

플래그설명
engineStruct Generator 엔진의 객체 동작
error일반 오류
fatal치명적 오류
field필드 동작
general일반 타입 매크로
info일반 정보
load매크로 로딩
serialize매크로 로딩 중 직렬화
warning일반 경고

모듈 `synatk` (Accelerated SYN Defender)

자세히는 R82 Performance Tuning Administration Guide — SecureXL 장의 Accelerated SYN Defender 절 참고.

플래그설명
cookieTCP SYN Cookie
error일반 오류
radix_dumpradix 트리 덤프
radix_matchradix 트리에서 매칭된 항목
radix_modifyradix 트리 동작
warning일반 경고

모듈 `TPUTILS` (Threat Prevention Utilities)

플래그설명
address연결 IP 주소 정보
bloomBloom 필터 동작
coverageCoverage 시간
error일반 오류(연결이 거부됐을 가능성)
global전역 구조체 처리(보통 정책 관련)
info일반 정보
memory메모리 할당 동작
moduleTPUTILS 모듈 동작
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
uuidSession UUID
vsVSID 출력
warning일반 경고

모듈 `UC` (UserCheck)

플래그설명
address연결 IP 주소 정보
coverageCoverage 시간
error일반 오류
htab해시 테이블
info일반 정보
memory메모리 할당 동작
moduleUserCheck 모듈 동작(초기화·테이블 히트·캐시 User ID 검색·인프라 제거)
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
verbose추가 정보 출력
vsVSID 출력
warning일반 경고
webapiURL 패턴·UserCheck 인시던트·연결 리디렉션

모듈 `UP` (Unified Policy)

플래그설명
account현재 사용 안 함
address연결 IP 주소 정보
btime현재 사용 안 함
clobCLOB 옵서버(데이터 분류)
connection연결·트랜잭션 정보
coverageCoverage 시간
error일반 오류
info일반 정보
limitUnified Policy 다운로드·업로드 한도
log일부 로깅 동작
mabMobile Access 핸들러
managerUnified Policy 매니저 동작
matchCLOB 옵서버(데이터 분류)
memory메모리 할당 동작
moduleUnified Policy 모듈 동작
policyUnified Policy 내부 동작
prob현재 사용 안 함
prob_implImplied 매칭 규칙
probtrc규칙 매칭 흐름(추가로 info 켤 것)
rulebaseUnified Policy 룰베이스
sec_rbSecondary NRB 룰베이스 동작
stats연결·트랜잭션 통계
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
urlf_ssl현재 사용 안 함
verbose추가 정보 출력
vpnVPN classifier
vsVSID 출력
warning일반 경고

모듈 `upconv` (Unified Policy Conversion)

플래그설명
error일반 오류
info일반 정보
mapUTF-8·UTF-16 문자 변환
mem문자셋에 쓰인 메모리량 출력
tree문자 조회
utf7UTF-7 → 유니코드 변환
utf8UTF-8 → 유니코드 변환
warning일반 경고

모듈 `UPIS` (Unified Policy Infrastructure)

플래그설명
address연결 IP 주소 정보
clobCLOB 옵서버(데이터 분류)
coverageCoverage 시간
cpdiagCPDiag 동작
crumbs현재 사용 안 함
dbSQLite 데이터베이스 동작
dndDynamic & Domain 객체 처리
error일반 오류
fwappFireWall 애플리케이션 정책 설치 정보
info일반 정보
initialappInitial Install Policy App 정보
memory메모리 할당 동작
mgr정책 설치 매니저
moduleUPIS 모듈 동작
mutexUnified Policy 내부 mutex 동작
policyUPIS 내부 동작
reportUnified Policy 설치에 대한 각종 리포트
snaSnA 객체("Services and Application") 동작
subject디버그 subject 출력
tables커널 테이블 동작
timestamp타임스탬프 출력(coverage 켜면 바뀜)
topo인터페이스 토폴로지·Anti-Spoofing·Address Range 객체 정보
upappUnified Policy 애플리케이션 정책 설치 정보
updateCMI Update 애플리케이션 정책 설치 정보
verbose추가 정보 출력
vpnVPN classifier
vsVSID 출력
warning일반 경고

모듈 `VPN` (Site-to-Site VPN and Remote Access VPN)

플래그설명
cluster클러스터 관련 이벤트
comp암호화 연결의 압축
counters각종 상태 카운터(주로 실시간 모니터링)
cphwd하드웨어 트래픽 가속 문제
driverCheck Point 커널 어태치먼트
err일어나면 안 되는 오류, VPN 동작에 치명적 오류
gtpGTP 연결 처리(추가로 gtp 모듈)
ifnotify인터페이스 상태(up/down) 변경 알림(OS 수신)
ikeIKE를 나갈 인터페이스로 옮기는 모든 IKE 커널 디버그·IKE 패킷 출발지 IP 수정
ike_traceIKE Security Association 처리
ikedIKED 데몬의 IKE 패킷 처리
iked_trapIKED 데몬의 IKE 패킷 처리
initVPN 커널·커널 데이터 구조 초기화(정책 재로드 시 CPSET 플래그 값도 출력)
l2tpL2TP 연결 처리
lsvLarge Scale VPN(LSV)
memVPN 풀·VPN 컨텍스트 할당
mspiMSA/MSPI 생성·소멸 정보
multicastVPN 멀티캐스트
multikVPN과 CoreXL 상호작용(클러스터는 cluster 모듈, QoS는 fg 모듈의 multik 도 켤 것)
natNAT 문제·클러스터 IP 조작(Cluster Virtual IP ⇄ Member IP)
om_allocOffice Mode IP 주소 할당
osuCluster Optimal Service Upgrade(sk107042)
packet더 구체적 플래그로 안 잡히는, 모든 패킷에서 일어날 수 있는 이벤트
pcktdmp암호화 전 패킷·복호화 후 패킷 출력
policy연결의 특정 패킷에서만 일어나는 이벤트(보통 정책 결정·로그/트랩 관련)
queueSecurity Association(SA) 큐 처리
rdpCheck Point RDP 연결 처리
refSA 저장·삭제 시 MSA/MSPI 참조 카운팅
resolverVPN Link Selection 테이블·CRL(피어 해석 메커니즘 일부)
route패킷 라우팅
rslRange Skip List 동작
sas키·Security Association(SA) 정보
srSecureClient/SecureRemote 관련 문제
taggingVPN 커뮤니티에 따른 연결 VPN 정책 설정
tcptTCP Tunnel(Visitor mode — TCP 443 방화벽 통과) 관련 정보
tnlmonVPN 터널 모니터링
topologyVPN Link Selection
vin더 이상 해당 없음(Windows OS 게이트웨이 전용 IPSec NIC 정보)
warn일반 경고

모듈 `WS` (Web Intelligence)

플래그설명
address연결 IP 주소 정보
bodyHTTP 본문(content) 레이어
connection연결 레이어
cookieHTTP cookie 헤더
coverageCoverage 시간
crumb현재 사용 안 함
error일반 오류(연결이 거부됐을 가능성)
event이벤트
fatal치명적 오류
flow현재 사용 안 함
global전역 구조체 처리(보통 정책 관련)
hpackHTTP/2 HPACK 헤더 압축 처리
http2HTTP/2 패킷 처리
info일반 정보
ioctlIOCTL 제어 메시지
mem_pool메모리 풀 할당 동작
memory메모리 할당 동작
moduleWeb Intelligence 모듈 동작
parserHTTP 헤더 파서 레이어
parser_errHTTP 헤더 파싱 오류
pfinderPattern finder
pkt_dump패킷 덤프
policy정책(설치·강제)
regexp정규식 라이브러리
report_mgrReport manager(오류·로그)
session세션 레이어
spiiStateful Protocol Inspection Infrastructure(INSPECT 스트리밍)
ssl_inspHTTPS Inspection
ssltSSL Tunneling(SSLT)
stat메모리 사용 통계
stream스트림 가상화
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
uuidSession UUID
vsVSID 출력
warning일반 경고

모듈 `WS_SIP` (Web Intelligence VoIP SIP Parser)

플래그설명
address연결 IP 주소 정보
bodyHTTP 본문(content) 레이어
connection연결 레이어
cookieHTTP cookie 헤더
coverageCoverage 시간
crumb현재 사용 안 함
error일반 오류
event이벤트
fatal치명적 오류
flow현재 사용 안 함
global전역 구조체 처리(보통 정책 관련)
hpackHTTP/2 HPACK 헤더 압축 처리
http2HTTP/2 패킷 처리
info일반 정보
ioctlIOCTL 제어 메시지
mem_pool메모리 풀 할당 동작
memory메모리 할당 동작
moduleWS_SIP 모듈 동작
parserHTTP 헤더 파서 레이어
parser_errHTTP 헤더 파싱 오류
pfinderPattern finder
pkt_dump패킷 덤프
policy정책(설치·강제)
regexp정규식 라이브러리
report_mgrReport manager(오류·로그)
session세션 레이어
spiiStateful Protocol Inspection Infrastructure(INSPECT 스트리밍)
ssl_inspHTTPS Inspection
ssltSSL Tunneling(SSLT)
stat메모리 사용 통계
stream스트림 가상화
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
uuidSession UUID
vsVSID 출력
warning일반 경고

모듈 `WSIS` (Web Intelligence Infrastructure)

플래그설명
address연결 IP 주소 정보
cipher현재 사용 안 함
common파라미터가 잘못됐을 때 메시지 출력
coverageCoverage 시간
crumb연결 정보
datastruct데이터 구조 트리
decoder콘텐츠 전송 인코딩 디코더(UUEncode·UTF-8·HTML 인코딩 &#)
dump패킷 덤프
error일반 오류
flow현재 사용 안 함
info일반 정보
memory메모리 할당 동작
parserHTTP 헤더 파서 레이어
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
verbose추가 정보 출력
vsVSID 출력
warning일반 경고

모듈 `ZPH` (Zero Phishing)

플래그설명
address연결 IP 주소 정보
coverageCoverage 시간
error일반 오류
global현재 사용 안 함
info일반 정보
memory메모리 할당 동작
moduleZero Phishing 커널 모듈 일반 정보
nemo현재 사용 안 함
subject디버그 subject 출력
timestamp타임스탬프 출력(coverage 켜면 바뀜)
verbose추가 정보 출력
vsVSID 출력
warning일반 경고
zphi현재 사용 안 함

---

마무리하면, 일상 튜닝은 CPViewfwaccel·fw ctl 명령으로 하되, 게이트웨이의 고급 동작은 커널 파라미터(fw ctl set·fwkern.conf·simkern.conf)로, 깊은 진단은 커널 디버그(fw ctl debug·ndebug·kdebug·conn_life_cycle.sh)로 내려갑니다. 파라미터는 대소문자를 구분하고 임시 변경은 재부팅에 사라진다는 점, 디버그는 CPU 부하가 크니 유지보수 시간과 콘솔 접속을 챙기고 끝나면 반드시 fw ctl debug 0 으로 복원 한다는 점만 잊지 마세요. 어떤 파라미터·플래그를 켤지 확신이 서지 않으면 관련 SK 문서나 Check Point Support 의 안내를 따르는 것이 가장 안전합니다.