このドキュメントでは、Cisco IOS® プラットフォームで使用可能な debug ip packet コマンドを含む debug コマンドの使用に関する一般的なガイドラインについて説明します。
次の項目に関する知識があることが推奨されます。
コンソール、aux、および vty のポートを使用したルータへの接続
一般的な Cisco IOS 設定の問題.
Cisco IOS のデバッグ出力の解釈.
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
このドキュメントでは、Cisco IOS®プラットフォームでdebugコマンドを使用する場合の一般的なガイドラインについて説明します。また、条件付きデバッグの例と概要についても説明します。
debug特権EXECコマンドは、ネットワーキングイベント、プロトコルステータス、パケット処理、および一般的なネットワークアクティビティに関する診断情報を提供します。これらのコマンドは、トラブルシューティング中に特定の問題の原因を特定するのに役立ちます。
ただし、debugコマンドでは、大量の出力情報が生成され、特にトラフィックの量が多いかCPU使用率が高いルータでは、デバイスのパフォーマンスに影響を与える可能性があります。このため、debugコマンドは、トラブルシューティングに必要な場合にのみ慎重に実行してください。
注:このドキュメントでは、特定のdebugコマンドとその出力の使用方法や解釈方法については説明していません。個々のdebugコマンドの詳細については、該当する『Cisco Debug Command Reference』マニュアルを参照してください。
debugコマンドは、注意して実行してください。通常、これらのコマンドは、特定の問題のトラブルシューティングを行う際にテクニカルサポート担当者の指示があった場合にだけ使用してください。
デバッグを有効にすると、特にネットワークに大きな負荷がかかっている場合に、ルータの動作が中断する可能性があります。ロギングが有効になっていると、コンソールポートがログメッセージで過負荷状態になったときに、アクセスサーバが断続的にフリーズすることがあります。
debugコマンドを実行する前に、コマンドが生成できる出力の量と、デバッグセッションを実行できる期間を考慮してください。
たとえば、Basic Rate Interface(BRI;基本速度インターフェイス)を1つ装備しているルータでは、debug isdn q931がシステムに影響を与える可能性はほとんどありません。ただし、同じdebugコマンドをフルE1設定のAS5800で実行すると、デバイスがハングしたり応答が停止したりするほど十分な出力が生成される場合があります。
デバッグを行う前に、show processes cpuコマンドを実行してCPUの負荷を確認します。デバッグを有効にする前に、十分なCPU容量が使用可能であることを確認します。
たとえば、ATMインターフェイスを備えたCisco 7200ルータでブリッジングを実行している場合、設定されているサブインターフェイスの数によっては、ルータを再起動すると大量のCPUリソースが消費される可能性があります。仮想回線(VC)ごとに、ブリッジプロトコルデータユニット(BPDU)パケットを生成する必要があります。この重要な期間にデバッグを有効にすると、CPU使用率が大幅に増加し、デバイスのハングやネットワーク接続の喪失を引き起こす可能性があります。
注:デバッグの実行中、特にデバッグが集中している場合は、通常、ルータプロンプトは表示されません。しかし、ほとんどの場合、no debug allコマンドかundebug allコマンドを実行するとデバッグを中止できます。
上記の点に加え、デバッグがプラットフォームの安定性に与える影響についても理解しておいてください。また、debugコマンドを有効にする前に、ルータのどのインターフェイスに接続する必要があるかを考慮する必要があります。
ルータはデバッグ出力を、コンソール ポート、aux ポート、および vty ポートなどさまざまなインターフェイスに表示できます。ルータは、内部バッファへのメッセージを外部 UNIX syslog サーバへログすることもできます。
通常の設定でコンソールに接続している場合は、特別な作業は必要ありません。デバッグ出力は自動的に表示される必要があります。ただし、logging console levelが目的どおりに設定されており、ロギングがno logging consoleコマンドにより無効になっていないことを確認してください。
警告:ルータのコンソールポートに対する過度のデバッグは、ルータがハングする原因となる可能性があります。これは、ルータが自動的にコンソール出力を他のルータ機能より優先するためです。ルータがコンソールポートへの大きなデバッグ出力を処理している場合、ハングする可能性があります。デバッグ出力が多すぎる場合は、vty(telnet)ポートまたはログバッファを使用してデバッグを取得します。
注:デフォルトでは、ロギングはコンソールポートで有効になります。出力をキャプチャするために他のポートや方法(aux、vty、バッファなど)を使用している場合でも、コンソールポートは常にデバッグ出力を処理します。シスコでは、通常の稼働状況でno logging consoleコマンドを実行することを推奨しています。このコマンドは常に有効にしておいて、デバッグ出力の取得には別の方法を使用してください。コンソールを使用する必要がある状況では、ロギングコンソールを一時的にオンに戻します。
補助ポートを経由して接続している場合は、terminal monitorコマンドを実行します。また、deno logging onコマンドがルータで有効になっていないことも確認してください。
注:AUXポートを使用してルータを監視している場合は、ルータのリブート時にAUXポートにはブートシーケンスの出力が表示されないことに注意してください。コンソールポートに接続して、ブートシーケンスを表示します。
補助ポートまたは Telnet を経由して接続している場合は、terminal monitor コマンドを入力します。また、no logging onコマンドが使用されていないことも確認してください。
デフォルトのロギング デバイスはコンソールです。他のデバイスを指定しない限り、すべてのメッセージはコンソールに表示されます。
メッセージを内部バッファにログするには、logging bufferedルータ設定コマンドを実行します。このコマンドの全構文は次のとおりです。
logging buffered no logging buffered
logging bufferedコマンドは、ログメッセージをコンソールに表示するのではなく、内部バッファにコピーします。バッファは実際には循環しており、新しいメッセージによって古いメッセージが上書きされます。
バッファ内にログされているメッセージを表示するには、特権EXECコマンドshow loggingを使用します。最初に表示されるメッセージは、バッファ内で最も古いメッセージです。バッファのサイズと、ログに記録するメッセージの重大度を指定できます。
注:バッファサイズを入力する前に、ボックスで十分なメモリが使用可能であることを確認してください。show proc memコマンドを使用して、使用可能なメモリを確認します。
no logging buffered コマンドは、バッファの使用を取り消し、メッセージをコンソールに表示します(デフォルト)。
メッセージをsyslogサーバホストにログするには、logging router configurationコマンドを実行します。次のコマンドの完全な構文を表示します。
loggingno logging
logging コマンドは、ロギング メッセージを受信する syslog サーバ ホストを識別します。引数 <ip-address> は、ホストの IP アドレスです。このコマンドを複数回発行すると、ロギングメッセージを受信するsyslogサーバのリストが作成されます。
logging コマンドを使用すると、指定したアドレスのsyslogサーバがsyslogのリストから削除されます。
デバッグ出力をファイルにキャプチャするように、ターミナルエミュレータソフトウェアをセットアップします。使用しているソフトウェアターミナルエミュレータのマニュアルを参照してください。
service timestampsコマンドを実行して、ミリ秒(msec)のタイムスタンプを有効にします。
router(config)#service timestamps debug datetime msec router(config)#service timestamps log datetime msec
これらのコマンドは、タイムスタンプをMMM DD HH:MM:SS形式でデバッグに追加し、システムクロックに従って日付と時刻を示します。システムクロックが設定されていない場合は、日付と時刻の前にアスタリスク(*)が付いているため、日付と時刻が正しくない可能性があります。
一般に、ミリ秒のタイムスタンプを設定することをお勧めします。これにより、デバッグ出力を確認する際に高いレベルの明確性が得られるためです。ミリ秒のタイムスタンプは、相互に関連するさまざまなデバッグイベントのタイミングをより正確に示します。ただし、コンソールポートから多数のメッセージが出力される場合、イベントの実際のタイミングと関連付けることはできません。
たとえば、200個のVCがあるボックスでdebug x25allを有効にして、出力がバッファにロギングされる(eno logging console およびlogging bufferedコマンドを実行される)場合、デバッグ出力(バッファ内)に表示されるタイムスタンプは、パケットがインターフェイスを通過する正確な時刻とは限りません。そのため、ミリ秒のタイムスタンプはパフォーマンス問題を検査するために使用するのではなく、イベントがいつ発生したかに関する関連情報を取得するために使用します。
デバッグを停止するには、no debug all または undebug all コマンドを使用します。デバッグがオフになっていることを、show debugコマンドを使用して確認してください。
no logging consoleコマンドとterminal no monitorコマンドで停止されるのは、それぞれコンソールへの出力とauxまたはvtyへの出力だけであることに注意してください。デバッグは停止されず、ルータリソースが使い果たされます。
従来のCisco IOS®ルータでは、debug ip packetは主にプロセス交換されたトラフィックを参照します。ファストスイッチングまたはCEFを介して転送されたトラフィックは、プロセススイッチングパスに強制的に転送されない限り表示されません。ただし、すべてのパケットの出力が生成されるため、出力が広範囲にわたることがあり、ルータがハングする原因となります。このため、debug ip packetはこのセクションで説明している条件に準拠して実行してください。
debug ip packetの出力を制限する最もよい方法は、デバッグにリンクされたアクセスリストを作成することです。アクセスリストの基準に一致するパケットだけがdebug ip packetの対象になります。このアクセス リストをインターフェイスに適用する必要はありません。デバッグ操作に適用します。
debugging ip packetを実行する前に、ルータがデフォルトでファーストスイッチングを使用しているか、またはCEFスイッチング(そのように設定されている場合)を使用している可能性があることに注意してください。つまり、これらの手法が採用されると、パケットはプロセッサに提供されず、デバッグでは何も表示されません。これが機能するには、no ip route-cache(ユニキャストパケットの場合)または no ip mroute-cache(マルチキャストパケットの場合)を使用して、ルータでのファーストスイッチングを無効にする必要があります。 これは、トラフィックのフローが想定されるインターフェイスに適用される必要があります。show ip route コマンドで、これを確認してください。
注:新しいプラットフォームでは、フォワーディングは通常CEFまたはハードウェアベースのスイッチングで処理されるため、ファーストスイッチングを無効にする適用や推奨はされなくなりました。その結果、debug ip packetでは通過トラフィックを安定して表示できない可能性があり、最新のトラブルシューティングは通常、代わりにプラットフォーム固有のキャプチャツールまたはハードウェアツールを使用します。
デバッグの条件付き起動機能を有効にすると、ルータはルータを指定したインターフェイスで出入りするパケットのデバッグ メッセージを生成します。このルータは別のインターフェイスに出入りするパケットのデバッグ出力を生成しません。
条件付きデバッグの簡単な実装を確認します。「次に示すルータ(trabol)には 2 つのインターフェイス(serial 0 と serial 3)があり、どちらも HDLC カプセル化を実行している」というシナリオについて考えます。
normaldebug serial interfaceコマンドを実行すると、HDLCキープアライブがすべてのインターフェイスで受信されることを確認できます。両方のインターフェイスでキープアライブを確認できます。
traxbol#debug serial interface Serial network interface debugging is on traxbol# *Mar 8 09:42:34.851: Serial0: HDLC myseq 28, mineseen 28*, yourseen 41, line up ! -- HDLC keeplaive on interface Serial 0 *Mar 8 09:42:34.855: Serial3: HDLC myseq 26, mineseen 26*, yourseen 27, line up ! -- HDLC keeplaive on interface Serial 3 *Mar 8 09:42:44.851: Serial0: HDLC myseq 29, mineseen 29*, yourseen 42, line up *Mar 8 09:42:44.855: Serial3: HDLC myseq 27, mineseen 27*, yourseen 28, line up
インターフェイスシリアル3の条件付きデバッグをイネーブルにします。これは、インターフェイスシリアル3のデバッグだけが表示されることを意味します。debug interface <interface_type interface_number >コマンドを実行します。
traxbol#debug interface serial 3 Condition 1 set
show debug conditionコマンドを実行して、条件付きデバッグが有効であること(インターフェイスシリアル3の条件が有効であること)を確認します。
traxbol#show debug condition Condition 1: interface Se3 (1 flags triggered) Flags: Se3 traxbol#
今度は、インターフェイスシリアル3のデバッグ情報だけが表示されます。
*Mar 8 09:43:04.855: Serial3: HDLC myseq 29, mineseen 29*, yourseen 30, line up *Mar 8 09:43:14.855: Serial3: HDLC myseq 30, mineseen 30*, yourseen 31, line up
undebug interface <interface_type interface_number>コマンドを実行して、条件付きデバッグを解除します。条件付きの起動を解除する前に、(undebug all などを使用して)デバッグをオフにしておくことをお勧めします。これは、条件が解除されたときデバッグ出力が集中するのを回避するためです。
traxbol#undebug interface serial 3 This condition is the last interface condition set. Removing all conditions can cause a flood of debugging messages to result, unless specific debugging flags are first removed. Proceed with removal? [yes/no]: y Condition 1 has been removed traxbol
インターフェイスserial 0とserial 3の両方のデバッグが表示されます。
*Mar 8 09:43:34.927: Serial3: HDLC myseq 32, mineseen 32*, yourseen 33, line up *Mar 8 09:43:44.923: Serial0: HDLC myseq 35, mineseen 35*, yourseen 48, line up
警告:一部のデバッグ操作は、それ自体が条件付きです。ATMデバッグはその一例です。ATMデバッグでは、デバッグをすべてのATMインターフェイスで有効にして条件を指定するのではなく、デバッグを有効にするインターフェイスを明示的に指定する必要があります。
次のセクションでは、ATM パケット デバッグを 1 つのサブインターフェイスに制限する正しい方法を説明します。
arielle-nrp2#debug atm packet interface atm 0/0/0.1 !--- Note that you explicitly specify the sub-interface to be used for debugging ATM packets debugging is on Displaying packets on interface ATM0/0/0.1 only arielle-nrp2# *Dec 21 10:16:51.891: ATM0/0/0.1(O): VCD:0x1 VPI:0x1 VCI:0x21 DM:0x100 SAP:AAAA CTL:03 OUI:0080C2 TYPE:0007 Length:0x278 *Dec 21 10:16:51.891: 0000 FFFF FFFF FFFF 0010 7BB9 BDC4 0800 4500 025C 01FE 0000 FF11 61C8 0A30 *Dec 21 10:16:51.891: 4B9B FFFF FFFF 0044 0043 0248 0000 0101 0600 0015 23B7 0000 8000 0000 0000 *Dec 21 10:16:51.891: 0000 0000 0000 0000 0000 0000 0010 7BB9 BDC3 0000 0000 0000 0000 0000 0000 *Dec 21 10:16:51.891: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:16:51.891: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:16:51.891: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:16:51.891: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:16:51.895: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:16:51.895: arielle-nrp2#
atm debuggingを(適用された条件で)すべてのインターフェイスで有効にしようとすると、ルータに大量のATMサブインターフェイスがある場合はハングする可能性があります。ここで示されているのは ATM デバッグの誤った方法の一例です。
この場合には条件が適用されていることがわかりますが、効果がないこともわかります。別のインターフェイスからのパケットも確認できます。
このラボのシナリオでは、インターフェイスは2つだけで、トラフィックはほとんど存在しません。インターフェイスの数が多い場合、すべてのインターフェイスのデバッグ出力も極端に高くなり、ルータがハングする原因になります。
arielle-nrp2#show debugging condition Condition 1: interface AT0/0/0.1 (1 flags triggered) Flags: AT0/0/0.1 ! -- A condition for a specific interface. arielle-nrp2#debug atm packet ATM packets debugging is on Displaying all ATM packets arielle-nrp2# *Dec 21 10:22:06.727: ATM0/0/0.2(O): ! -- You see debugs from interface ATM0/0/0/.2, even though the condition ! -- specified ONLY AT0/0/0.1 VCD:0x2 VPI:0x5 VCI:0x37 DM:0x100 SAP:AAAA CTL:03 OUI:0080C2 TYPE:000E Length:0x2F *Dec 21 10:22:06.727: 0000 0000 0180 0000 107B B9BD C400 0000 0080 0000 107B B9BD C480 0800 0014 *Dec 21 10:22:06.727: 0002 000F 0000 *Dec 21 10:22:06.727: un a *Dec 21 10:22:08.727: ATM0/0/0.2(O): VCD:0x2 VPI:0x5 VCI:0x37 DM:0x100 SAP:AAAA CTL:03 OUI:0080C2 TYPE:000E Length:0x2F *Dec 21 10:22:08.727: 0000 0000 0180 0000 107B B9BD C400 0000 0080 0000 107B B9BD C480 0800 0014 *Dec 21 10:22:08.727: 0002 000F 0000 *Dec 21 10:22:08.727: ll *Dec 21 10:22:10.727: ATM0/0/0.2(O): VCD:0x2 VPI:0x5 VCI:0x37 DM:0x100 SAP:AAAA CTL:03 OUI:0080C2 TYPE:000E Length:0x2F *Dec 21 10:22:10.727: 0000 0000 0080 0000 107B B9BD C400 0000 0080 0000 107B B9BD C480 0800 0014 *Dec 21 10:22:10.727: 0002 000F 0000 *Dec 21 10:22:10.727: *Dec 21 10:22:12.727: ATM0/0/0.2(O): VCD:0x2 VPI:0x5 VCI:0x37 DM:0x100 SAP:AAAA CTL:03 OUI:0080C2 TYPE:000E Length:0x2F *Dec 21 10:22:12.727: 0000 0000 0080 0000 107B B9BD C400 0000 0080 0000 107B B9BD C480 0800 0014 *Dec 21 10:22:12.727: 0002 000F 0000 *Dec 21 10:22:12.727: *Dec 21 10:22:13.931: ATM0/0/0.1(O): !--- You also see debugs for interface ATM0/0/0.1 as you wanted. VCD:0x1 VPI:0x1 VCI:0x21 DM:0x100 SAP:AAAA CTL:03 OUI:0080C2 TYPE:0007 Length:0x278 *Dec 21 10:22:13.931: 0000 FFFF FFFF FFFF 0010 7BB9 BDC4 0800 4500 025C 027F 0000 FF11 6147 0A30 *Dec 21 10:22:13.931: 4B9B FFFF FFFF 0044 0043 0248 0000 0101 0600 001A 4481 0000 8000 0000 0000 *Dec 21 10:22:13.931: 0000 0000 0000 0000 0000 0000 0010 7BB9 BDC3 0000 0000 0000 0000 0000 0000 *Dec 21 10:22:13.931: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:22:13.931: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:22:13.931: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:22:13.931: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 *Dec 21 10:22:13.935: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
| 改定 | 発行日 | コメント |
|---|---|---|
5.0 |
22-Jun-2026
|
紹介間隔、アーティクル内のその他の間隔、文法、スペル、インデントを更新。 |
4.0 |
19-Aug-2024
|
再認定 |
2.0 |
29-Apr-2022
|
壊れたリンクを更新および削除。 |
1.0 |
02-Dec-2013
|
初版 |