SMF における monitor protocol の使用方法については以下の記事で紹介されておりますが、SMF ではこのコマンドのオプションを利用してメッセージを pcap として取得することができます。
5G SA: SMF における monitor subscriber/protocol
上記記事で紹介されている monitor protocol コマンドの最後に pcap yes のオプションを追加することで実行時にやり取りされるメッセージを pcap として取得することができます。
コマンド実行例:
monitor protocol interface sbi,n11,N4:192.168.20.25:8805 capture-duration 60 pcap yes
コマンド実行後、取得された pcap ファイルおよび実行時の出力結果のファイルは oam-pod-0 の log/monprologs ディレクトリに取得されます。
ファイル確認時のコマンド実行例:
stack@5gsa-lab:~$ kubectl exec -it -n smf-data oam-pod-0 bash
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
Defaulting container name to oam-pod.
Use 'kubectl describe pod/oam-pod-0 -n smf-data' to see all of the containers in this pod.
root@oam-pod-0:/# cd logs/monprologs
root@oam-pod-0:/logs/monprologs# ls -rtl
-rw-r--r-- 1 root root 592121 Apr 8 01:57 sessintfname_sbi,n11,N4:192.168.20.25:8805_at_2025-04-08T01:57:11.923199231.txt
-rw-r--r-- 1 root root 28031 Apr 8 01:57 sessintfname_sbi,n11,N4:192.168.20.25:8805_at_2025-04-08T01:57:11.923199231.pcap
oam-pod-0 に生成されたファイルは kubectl cp コマンドでホスト側にコピーすることでファイルを取得できます。
Command syntax:
kubectl cp <namespace>/<some-pod>:<remote file path> <local file path>
kubectl cp コマンド実行例:
kubectl cp smf-data/oam-pod-0:"/logs/monprologs/sessintfname_sbi,n11,N4:192.168.20.25:8805_at_2025-04-08T01:57:11.923199231.pcap" /home/stack/smf_test.pcap