らくがきちょう

なんとなく ~所属組織/団体とは無関係であり、個人の見解です~

CML でパケットをキャプチャする

VIRL でも可能だったパケットキャプチャ機能ですが、CML でも可能です。 しかし、GUI から直接キャプチャファイル (.pcap や .pcapng) からダウンロードすることは出来なくなりました。

GUI からのキャプチャ

GUI からキャプチャするにはキャプチャしたいリンクそのものを選択し、更に Packet Capture タブをクリックします。

f:id:sig9:20200622203202p:plain

パケットキャプチャを開始するには Max PacketsMax Time の値を入力する必要があります (どちらも未入力だとエラーになり、パケットキャプチャを開始することが出来ません)。

f:id:sig9:20200622203205p:plain

Cookpit の CLI からキャプチャファイルを確認する

GUI からキャプチャしている際、CML の内部的に .pcapng 形式のキャプチャファイルが生成され、キャプチャの停止と共に削除されています。 このファイルは Cookpit から確認することが出来ます。 Cookpit には https://(CML のアドレス):9090 でアクセスすることが出来ます。

f:id:sig9:20200622203209p:plain

Cookpit へログインしたら左側のナビゲーションメニューから 端末 を選択します。

f:id:sig9:20200622203213p:plain

ターミナルが起動するので、ls 等で /var/tmp 配下を確認するとキャプチャ中のみ、.pcapng ファイルが存在することが分かります。 キャプチャを実施しているリンクごとに .pcapng ファイルは生成されます。 例えば 3 リンクでキャプチャすると 3 つの .pcapng ファイルが生成されます。

f:id:sig9:20200622203217p:plain

リアルタイムでキャプチャ内容を別のコンピュータに転送したい場合は nc を使う、という方法が考えられると思います。

参考

CaptureExample.yaml

lab:
  description: ''
  notes: ''
  timestamp: 1592839180.5980356
  title: CaptureExample
  version: 0.0.3
nodes:
  - id: n0
    label: iosv-0
    node_definition: iosv
    x: -250
    y: -150
    configuration: |-
      hostname R1
      !
      interface GigabitEthernet0/0
       ip address 192.168.12.1 255.255.255.0
       no shutdown
      !
      ip route 0.0.0.0 0.0.0.0 192.168.12.2
      no banner exec ^C
      no banner incoming ^C
      no banner login ^C
      !
      end
    image_definition: iosv-158-3
    tags: []
    interfaces:
      - id: i0
        label: Loopback0
        type: loopback
      - id: i1
        slot: 0
        label: GigabitEthernet0/0
        type: physical
      - id: i2
        slot: 1
        label: GigabitEthernet0/1
        type: physical
      - id: i3
        slot: 2
        label: GigabitEthernet0/2
        type: physical
      - id: i4
        slot: 3
        label: GigabitEthernet0/3
        type: physical
  - id: n1
    label: iosv-1
    node_definition: iosv
    x: -100
    y: -150
    configuration: |-
      hostname R2
      !
      interface GigabitEthernet0/0
       ip address 192.168.12.2 255.255.255.0
       no shutdown
      !
      interface GigabitEthernet0/1
       ip address 192.168.23.2 255.255.255.0
       no shutdown
      !
      no banner exec ^C
      no banner incoming ^C
      no banner login ^C
      !
      end
    image_definition: iosv-158-3
    tags: []
    interfaces:
      - id: i0
        label: Loopback0
        type: loopback
      - id: i1
        slot: 0
        label: GigabitEthernet0/0
        type: physical
      - id: i2
        slot: 1
        label: GigabitEthernet0/1
        type: physical
      - id: i3
        slot: 2
        label: GigabitEthernet0/2
        type: physical
      - id: i4
        slot: 3
        label: GigabitEthernet0/3
        type: physical
  - id: n2
    label: iosv-2
    node_definition: iosv
    x: 50
    y: -150
    configuration: |-
      hostname R3
      !
      interface GigabitEthernet0/1
       ip address 192.168.23.3 255.255.255.0
       no shutdown
      !
      ip route 0.0.0.0 0.0.0.0 192.168.23.2
      no banner exec ^C
      no banner incoming ^C
      no banner login ^C
      !
      end
    image_definition: iosv-158-3
    tags: []
    interfaces:
      - id: i0
        label: Loopback0
        type: loopback
      - id: i1
        slot: 0
        label: GigabitEthernet0/0
        type: physical
      - id: i2
        slot: 1
        label: GigabitEthernet0/1
        type: physical
      - id: i3
        slot: 2
        label: GigabitEthernet0/2
        type: physical
      - id: i4
        slot: 3
        label: GigabitEthernet0/3
        type: physical
links:
  - id: l0
    i1: i1
    n1: n0
    i2: i1
    n2: n1
  - id: l1
    i1: i2
    n1: n1
    i2: i2
    n2: n2