ASA には、パケットキャプチャを取得する機能が実装されており、ASA を介する通信のトラブルシュートを行う際に、最も基本的、かつ強力なツールとして活用できます。
今回は、サンプルとして、下記のような簡易構成を想定し、ホスト 2 -> 1 への通信をキャプチャする手順を CLI、GUI(ASDM) の両方でご案内します。
CLI/ASDM どちら取得しても結果は同じですが、ASDM で取得する場合には、FTP や、TFTP 等の外部サーバを用意する必要がありません。
![0.JPG](/legacyfs/online/legacy/4/4/2/6244-0.JPG)
Command Line Interface(CLI)で取得
①キャプチャを有効にする
ASA にログインし、以下のコマンドを実行します。
asa5520-a# capture capin packet-length 1522 interface inside
asa5520-a# capture capout packet-length 1522 interface outside
ここで、capin、capout というのは、任意の名前となります。
Access Control List (ACL) を使用して対象の通信を絞り込む事も可能ですが、どのような問題が発生しているかが切り分けられていない時には、ひとまず指定無しで取得してみるとよいです。
パケットサイズも同様です、ひとまず最大値(1522 Byte)で取得します。
パケットバッファのサイズは、buffer オプションで変更可能です。 デフォルトサイズは512KByte となっていますが、必要に応じて変更してください。(取りこぼすことが多いようであれば大きく設定する等。。。)
たくさんのオプションが存在していますので、詳細は下記 CCO ドキュメントを参照してください。
http://www.cisco.com/en/US/docs/security/asa/asa80/command/reference/c1.html#wp2108895
②キャプチャをコピー
取得したキャプチャは、様々な場所にコピー(取得)することが出来ますが、今回はPC 上に TFTP サーバを立て(てあると仮定し※1)、そこにコピーする方法を紹介します。
asa5520-a# copy /pcap capture:capin tftp
コマンドを実行します。
※"/pcap" オプションを含めない場合、出力されるキャプチャはテキスト形式になってしまいます。 パケット解析ツールで解析可能な形式で出力するためには、"/pcap" オプションを必ず含めてください。
すると、
Source capture name [capin]?
と聞かれます。括弧"[]"のなかは、何も指定しない場合の値です。 今回は、capin で問題ないので、そのまま Enter をタイプします。 すると、TFTP サーバのアドレスを聞かれるので、192.168.2.1 と入力します。
Address or name of remote host []? 192.168.2.1
最終的なファイル名を決定し、
Destination filename [capin]?
以下のような出力が出れば成功です。
6 packets copied in 0.20 secs
同様に、capout も取得して下さい。
取得したファイルは、パケット解析ツールで解析することが出来ます。
有効にした capture は、"no capture キャプチャ名" で無効に出来ます。
※1
今回は、TFTP サーバが立ててあると仮定し説明していますが、もし、キャプチャを取得する段階でそのようなサーバの準備が整っていない場合等は、一度、flash メモリ上に保存し、その後可能になったタイミングで、任意のプロトコルで取得することも可能です。
その場合は、以下の様なコマンドで、一度 flash に保存し、
asa5520-a# copy /pcap capture:capin flash:
Source capture name [capin]?
Destination filename [capin]?
!
8 packets copied in 0.150 secs
asa5520-a#
それを copy コマンドで取得することが出来ます。
asa5520-a# copy flash:/capin ?
disk0: Copy to disk0: file system
disk1: Copy to disk1: file system
flash: Copy to flash: file system
ftp: Copy to ftp: file system
running-config Update (merge with) current system configuration
smb: Copy to smb: file system
startup-config Copy to startup configuration
system: Copy to system: file system
tftp: Copy to tftp: file system
asa5520-a# copy flash:/capin
ASDM を使用して取得
先ずは、ASDM 経由で ASA にアクセスし、ツールバーの Wizard メニューにある、"Packet Capture Wizard" を起動してください。
![1.JPG](/legacyfs/online/legacy/5/7/2/6275-1.JPG)
起動すると、"Packet Capture Wizard" の簡単な説明が表示されます。 "Next" をクリックしてください。
![2.JPG](/legacyfs/online/legacy/6/7/2/6276-2.JPG)
次に、ingress インタフェースを何にするか聞かれてきます。 指示に従い、inside 側のインタフェースである、"inside" を選択します。 Packet Match Criteria の項目で、ACL を使用し、対象トラフィックを絞り込む事も出来ますが、ここでは、特に何も選択しないで、全ての IP トラフィックを対象とします。
![3.JPG](/legacyfs/online/legacy/7/7/2/6277-3.JPG)
次は、egress インタフェースの選択です。 outside に設定します。
![4.JPG](/legacyfs/online/legacy/8/7/2/6278-4.JPG)
次の画面で、キャプチャされる上限サイズ、キャプチャバッファのサイズを変更できます。
どのようなパケットが来るかが分からない時には、サイズは最大の 1522Byte、バッファサイズは、比較的限られた時間内で問題が起きることが分かっている場合には、小さく、いつ起こるか分からない場合には大きくという様に、必要に応じて変更してください。
次に今まで設定した内容が正しいかどうか聞かれます。 Next で次に進んでください。
![6.JPG](/legacyfs/online/legacy/9/7/2/6279-6.JPG)
この画面で、"Start" をクリックすると、ASA 上でパケットキャプチャが実行されます。 パケットキャプチャを取得するには、"Stop" をクリックし、"Save captures..." をクリックします。
![7.JPG](/legacyfs/online/legacy/0/8/2/6280-7.JPG)
出力形式を、"PCAP" に指定し、ingress/egress の両インタフェースのキャプチャを取得してください。
![8.JPG](/legacyfs/online/legacy/1/8/2/6281-8.JPG)