Cisco 1812Jでパケットキャプチャしてみた|traffic-exportを使ってPCAPを取得する

ネットワーク

自宅のルーターとして運用しているCisco 1812Jに、実際にどのようなパケットが流れているのか確認してみました。

今回は、Cisco IOSに搭載されているtraffic-export機能を利用して、LAN側インターフェースを流れるパケットをキャプチャします。

取得したパケットはPCAPファイルとしてCisco 1812Jのフラッシュメモリに保存し、その後FTPで別のPCへ転送します。

最後にWiresharkを使って、実際にキャプチャしたパケットを確認してみます。

環境

今回使用した機器は以下のとおりです。

  • ルーター:Cisco 1812J
  • OS:Cisco IOS
  • キャプチャ対象:LAN側インターフェース
  • パケット解析:Wireshark
  • PCAPファイルの転送:FTP

Cisco 1812Jは少し古い機種ですが、自宅ネットワークのルーターとして利用しています。

Cisco 1812Jでパケットキャプチャを設定する

まず、traffic-exportのプロファイルを作成します。

今回はプロファイル名をTESTとしました。

ip traffic-export profile TEST mode capture
  bidirectional
!
interface FastEthernet1
 ip traffic-export apply TEST size 5242880

bidirectionalを指定することで、送信・受信の双方向のパケットをキャプチャします。

また、size 5242880でキャプチャ用のサイズを指定しています。

今回はLAN側のFastEthernet1に設定しました。

実際の環境では、どのインターフェースに設定するかを確認してから実行する必要があります。

パケットキャプチャを開始する

設定が完了したら、実際にパケットキャプチャを開始します。

まず、以前のキャプチャデータが残っている場合に備えてクリアします。

traffic-export interface FastEthernet1 clear

次にキャプチャを開始します。

traffic-export interface FastEthernet1 start

この状態でルーターを経由して通信を行います。

例えば、PCからWebサイトへアクセスしたり、DNS名前解決を行ったりすると、さまざまなパケットがキャプチャされます。

今回はしばらく通信を発生させた後、キャプチャを停止しました。

traffic-export interface FastEthernet1 stop

キャプチャできているか確認する

キャプチャを停止したら、show ip traffic-exportで状態を確認します。

show ip traffic-export

ここでキャプチャの状態や取得したデータを確認できます。

実際にパケットが取得できているか、このコマンドで確認してから次の作業に進みます。

キャプチャしたパケットをPCAPファイルとして保存する

次に、キャプチャしたデータをCisco 1812Jのフラッシュメモリへコピーします。

traffic-export interface FastEthernet1 copy flash:capture.pcap

これで、capture.pcapというファイルがフラッシュメモリに保存されます。

保存されたファイルは、後からPCへ転送してWiresharkなどで解析できます。

PCAPファイルをFTPで転送する

Cisco 1812Jのフラッシュメモリに保存したPCAPファイルを、FTPを使ってPCへ転送します。

copy flash:capture.pcap ftp://username:password@192.168.20.2/

今回の例では、FTPサーバーのIPアドレスを192.168.20.2としています。

実際に使用する場合は、自分の環境に合わせてFTPサーバーのIPアドレスやユーザー名、パスワードを変更します。

転送が完了したら、PC側にcapture.pcapが保存されていることを確認します。

Wiresharkでキャプチャしたパケットを確認する

PCに転送したcapture.pcapをWiresharkで開きます。

PCAPファイルを開くと、Cisco 1812Jを経由して実際に流れていたパケットを確認できます。

例えば、以下のような情報を確認できます。

  • 送信元IPアドレス
  • 宛先IPアドレス
  • TCP / UDPなどのプロトコル
  • ポート番号
  • DNSなどの通信
  • パケットサイズ
  • TCP通信の詳細

普段何気なく利用しているWebアクセスや名前解決などが、実際にはどのようなパケットとして流れているのか確認できるので、ネットワークの勉強にもなります。

Ciscoルーターでパケットキャプチャするメリット

今回の方法を使うと、PC上でパケットキャプチャする場合とは違った視点で通信を確認できます。

例えば、ルーターを通過する通信をキャプチャすれば、特定のPCだけではなく、ネットワーク全体の通信を確認することができます。

自宅ネットワークで「どんな通信が発生しているのか確認したい」という場合にも利用できます。

また、Cisco IOSのtraffic-exportを実際に操作することで、ルーター上でのパケットキャプチャの方法を学ぶこともできます。

注意点

パケットキャプチャを行う場合は、いくつか注意が必要です。

キャプチャ対象のインターフェースを確認する

今回はLAN側のFastEthernet1に設定しました。

どのインターフェースをキャプチャするかによって、取得できるパケットが変わります。

そのため、事前にネットワーク構成とインターフェースの役割を確認しておくことが重要です。

キャプチャサイズに注意する

大量の通信をキャプチャすると、短時間でも多くのデータが蓄積されます。

特に古いルーターを使用している場合は、キャプチャによる負荷や保存領域についても考慮したほうがよいでしょう。

必要な時間だけキャプチャするようにすると、扱いやすくなります。

まとめ

今回は、自宅で使用しているCisco 1812Jを使ってパケットキャプチャを行ってみました。

設定からPCAPファイルの取得までは、以下の流れになります。

  1. traffic-exportのプロファイルを作成
  2. キャプチャ対象のインターフェースに適用
  3. キャプチャを開始
  4. 必要な通信を発生させる
  5. キャプチャを停止
  6. PCAPファイルをフラッシュへコピー
  7. FTPでPCへ転送
  8. Wiresharkでパケットを解析

Cisco 1812Jのような古いCiscoルーターでも、実際の通信をキャプチャして確認することができます。

普段使っているネットワークでどのようなパケットが流れているのかを確認すると、TCP/IPやDNS、HTTP/HTTPSなどの仕組みをより具体的に理解できます。

自宅にCiscoルーターがある方は、検証環境を作って試してみるのも面白いと思います。

タイトルとURLをコピーしました