はじめに
このドキュメントでは、Cisco Telemetry Broker(CTB)Brokerノードでパケットキャプチャを実行する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- 基本的なLinux管理
- 基本的なCisco Telemetry Brokerアーキテクチャ
- SSHの基礎知識
- パケットキャプチャを実行するには、
adminおよびrootとしてのコマンドラインインターフェイス(CLI)アクセスが必要です。
使用するコンポーネント
このドキュメントの情報は、バージョン2.3.3を実行するCTB Brokerノードに基づくものです。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
設定
CTBブローカノードには、ブローカノードのテレメトリインターフェイスからネットワークキャプチャを実行するために使用される、ctb-pcapと呼ばれるツールがあります。このツールは、CTB Managerノードでは使用できないことに注意してください。
ctb-pcapコマンドを使用する前に、まずコマンドsudo suを使用してrootユーザに切り替えることを確認します。このツールは、rootユーザだけが使用できます。
このツールで使用可能なオプションを表示するには、BrokerノードのCLIでコマンドctb-pcap —helpを実行します。次の図に、オプションの完全なリストを示します。
- HAペアのブローカでネットワークキャプチャを実行する場合は、アクティブなCTBブローカからctb-pcapを実行していることを確認します。

出力が示すように、キャプチャされたパケットの数、秒単位の期間、およびパケットキャプチャの出力ファイル名が必要です。さらに、受信、送信、またはドロップされたパケットのパケットタイプをコマンドに記述する必要があります。
リストされていない別の依存関係があります。送信元ポート(-p)または宛先ポート(-P)をキャプチャする場合は、トランスポートプロトコル(-T)オプションも必要です。
次の構文をpacket captureコマンドのベースとして使用できます。このコマンドでは、キャプチャされたパケットの数、パケットキャプチャの期間とファイル名、および詳細オプションとパケットタイプがすでに指定されています。
ctb-pcap -V -n [number_pkts] -t [duration] -o [filename] [rx/tx/drop]
例
1. フィルタなしですべてのrxトラフィックをキャプチャします。
sudo ctb-pcap -n 10000 -t 30 -o rx-no-filter.pcap -V rx
2. ipv4 srcサブネットのキャプチャrx(単一のsrcにはip/32を使用):
sudo ctb-pcap -n 10000 -t 30 -o rx-ipv4-src-subnet.pcap -s 10.0.81.0/24 -V rx
3. ipv6のrxをキャプチャします。src ip:
sudo ctb-pcap -n 10000 -t 30 -o rx-ipv6-srcip.pcap -s fc00:f53b:82e4::1000 -v ip6 -V rx
4. ipv4 udpのrxをキャプチャ
sudo ctb-pcap -n 10000 -t 30 -o rx-ipv4-udp.pcap -T udp -V rx
5. ipv4 tcpのtxをキャプチャ
sudo ctb-pcap -n 10000 -t 30 -o tx-ipv4-tcp.pcap -T tcp -V tx
6. ipv6 udpのrxをキャプチャ
sudo ctb-pcap -n 10000 -t 30 -o rx-ipv6-udp.pcap -T udp -v ip6 -V rx
7. ipv6 tcpのrxをキャプチャ
sudo ctb-pcap -n 10000 -t 30 -o rx-ipv6-tcp.pcap -T tcp -v ip6 -V rx
8. ipv4 udp dstportのrxをキャプチャ
sudo ctb-pcap -n 10000 -t 30 -o rx-ipv4-udp-dstport.pcap -T udp -P 2055 -V rx
9. ipv4 tcp dstportのtxをキャプチャ
sudo ctb-pcap -n 10000 -t 30 -o tx-ipv4-tcp-dstport.pcap -T tcp -P 443 -V tx
10. ipv6 udp dstportのrxをキャプチャ
sudo ctb-pcap -n 10000 -t 30 -o rx-ipv6-udp-dstport.pcap -v ip6 -T udp -P 2055 -V rx
11. ipv6 tcp dstportのrxをキャプチャ
sudo ctb-pcap -n 10000 -t 30 -o rx-ipv6-tcp-dstport.pcap -v ip6 -T tcp -P 443 -V rx
12. ipv4 srcipおよびudp dstportのrxキャプチャ
sudo ctb-pcap -n 10000 -t 30 -o rx-ipv4-srcip-udp-dstport.pcap -s 10.0.81.171/32 -T udp -P 2055 -V rx
13. ipv4 srcipおよびtcp dstportのrxキャプチャ
sudo ctb-pcap -n 10000 -t 30 -o rx-ipv4-srcip-tcp-dstport.pcap -s 10.0.81.171/32 -T tcp -P 443 -V rx
14. ipv6 srcipおよびudp dstportのrxキャプチャ
sudo ctb-pcap -n 10000 -t 30 -o rx-ipv6-srcip-udp-dstport.pcap -s fc00:f53b:82e4::1000 -v ip6 -T udp -P 2055 -V rx
15. ipv6 srcipおよびtcp dstportのrxをキャプチャ
sudo ctb-pcap -n 10000 -t 30 -o rx-ipv6-srcip-tcp-dstport.pcap -s fc00:f53b:82e4::1000 -v ip6 -T tcp -P 443 -V rx
ブローカノードのCLIでコマンドを入力すると、パケットキャプチャが開始されます。パケットキャプチャが終了すると、ファイルは自動的に/var/lib/titan/pcap/ディレクトリに保存されます。
次に、packet captureコマンドからの詳細出力の例を示します。
サンプルコマンドからの詳細出力
パケットオプションの期間と数に関しては、最初のオプションがパケットキャプチャを停止することに注意してください。(たとえば、30分の1の期間が完了していなくても、合計100個のパケットがキャプチャされている場合、パケットキャプチャは停止します。この例では、最初に30秒の期間に達したため、キャプチャされたパケットは66個だけでした)。
パケットキャプチャが生成されたら、SCPまたはSFTPを使用してファイルをローカルマシンに転送します。SFTPを使用する場合は、アプライアンスに接続するための管理者クレデンシャルを入力します。
また、> sudo tcpdump -nnnr </lavar/lib/titan/pcap/<pcap_filename>を使用して、pcapをコンソールに再生することもできます。 これは、キャプチャパケットにデータがあるかどうかを迅速に確認するだけの場合に便利です

関連情報