物理機器(GUI)
物理機器のFortiGateは、以下のように 「ネットワーク」→「パケットキャプチャ」という画面からGUIで、 パケットの取得からダウンロードまで実施することができます。
Wireshark等で参照できる形式(.pcap)でダウンロードできるので、そのままWiresharkで開くことができます。
VM版(CLI)
VM版は「パケットキャプチャ」という項目が存在せず、GUIで取得することはできません。
VM版でパケットキャプチャを取得したい場合は、 以下のようなCLIを使用する必要があります。 なお、CLIを使用した手順は物理機器版でも可能です。
diag sniffer packet <interface> <'filter'> <verbose> <count> a
port1のicmpをキャプチャしたい場合は以下のような例になります。
diag sniffer packet port1 'icmp' 6 0 a
フィルタ等のオプションは下記のページが参考になります。 kb.fortinet.com
ただ、これはターミナルにパケット内容が出力されるので、目視するのは大変です。
Wiresharkで表示するには、以下のような手順が必要です。
1. Teraterm等のログ出力を有効にする
2. diagnose sniffer packet で取得開始し、取得したい通信後に「Ctrl」+「C」で終了する
※ログ出力も停止します
3. 取得したログから不要部分を削除する
取得したログの最上部と最下部に、不要な部分があるので削除して保存します。 以下のような箇所や、
diag sniffer packet any 'icmp' 6 0 a interfaces=[any] filters=[icmp]
以下のような箇所を削除します。
^C 29 packets received by filter 0 packets dropped by kernel FortiGate #
4. fgt2eth.exeを使用してpcap形式に変換する
こちらのページに、「fgt2eth.exe」があるのでダウンロードします。
これと、Teratermで取得したログを同じフォルダに置き、 コマンドプロンプトから以下のように実行します。
fgt2eth.exe -in <input_file_name> -out <output_file_name>
実行例は以下のようになります。
C:\Work\temp>fgt2eth.exe -in packet.log -out test.pcap Conversion of file packet.log phase 1 (FGT verbose 3 conversion) Output written to test.pcap. ** Skipped 5 packets captured on eth0 Conversion of file packet.log phase 2 (windows text2pcap) Ouput file to load in Ethereal is 'test.pcap' C:\Work\temp>
以下のようにWireshardで開くことができます。
FortiGateはCLIが独特ですので、興味がある方は是非下記の書籍を手に取ってみてください。