CDPおよびLinux

シスコの機器を使用する人は、CDP(Cisco Discovery Protocol)などの便利なプロトコルを知っている可能性が高く、ネットワークを探索するのに非常に便利なため、まれに管理者はネットワークのサポートを無効にしたいと思うでしょう)



遅かれ早かれ、Linuxおよびその他の* nixシステムでCDPを完全にサポートするか、少なくとも何らかのサポートがあるかどうかが問題になります。 そのようなツールキットがあることがわかりました。 カットの下で、そのうちの2つが点灯します。



cdprは、指定されたインターフェイスでCDPプロトコルをリッスンできる小さなプログラムです。



cdprパッケージのインストールは大したことではありません; Debianでは、これを行います:

  aptitude install cdpr 


パッケージのインストール後、cdpr -helpと入力して、プログラムオプションの説明を含むヘルプを取得できます。 (cdprは/ usr / sbinにインストールされるため、単純なユーザーはフルパスを入力するか、sudoなどを介してroot権限で作業する必要があることに注意してください)

  $ sudo cdpr -help
 cdpr-Cisco Discovery Protocolレポーター
バージョン2.2.1
著作権(c)2002-2006-MonkeyMental.com

 d:使用するデバイスを指定します(eth0、hme0など)
 h:この使用法を印刷する
 t:パケットの待機を中止する秒単位の時間(60以上)
 v [vv]:詳細モードを設定します

 **サーバーの更新を処理するオプション:**
  u:cdpr情報をcdprサーバーに送信します
     argとして設定ファイルが必要です
  l:-uまたは-sおよび-pで使用するこのポートの場所/説明
  n:-uまたは-sおよび-pで使用するためにサーバーに報告されたホスト名をオーバーライドします
  s:ポートを指定するための情報を送信するサーバー:サーバー/ IPの後
     例:192.168.1.20:88(デフォルト:80)には-p(-uで上書き)が必要です
  p:データを送信するサーバースクリプトのパスが必要な-s(-uでオーバーライド) 


オプションを指定せずにcdprを実行すると、CDPに関する情報を取得するインターフェイスを選択できるシンプルなメニューが表示されます。

  $ sudo cdpr
 cdpr-Cisco Discovery Protocolレポーター
バージョン2.2.1
著作権(c)2002-2006-MonkeyMental.com

 1. eth0(説明なし)

 [...スキップ...]

 22. any(すべてのインターフェースでキャプチャする擬似デバイス)
 23. lo(説明なし)
 24. lo:リング(説明なし)
インターフェイス番号(1〜24)を入力します:13 


メニューからネットワークインターフェイス番号を指定し、cdprがインターフェイスからの情報を分析するまで辛抱強く待ちます。

 デバイスの使用:vlan1315
 CDPアドバタイズメントを待っています:
 (デフォルトの構成では、60秒ごとにCDPパケットを送信します)
デバイスID
  値:cisco.netcom.ks.ua
住所
  値:213.44.40.27
ポートID
  値:FastEthernet0 / 1.1315 


やった! 連絡先があります! 確かに、どこも簡単ではありませんか? ;)



しかし、cdpr --helpの出力を注意深く見ると、メニューからプログラムを操作する必要がないことに気付くでしょう。関心のあるインターフェースは-dオプションで指定でき、同時に-vまたは-vvvを指定することでより詳細な操作モードを有効にできます:

  $ sudo cdpr -d vlan1315 -vvv
 cdpr-Cisco Discovery Protocolレポーター
バージョン2.2.1
著作権(c)2002-2006-MonkeyMental.com

デバイスの使用:vlan1315
 CDPアドバタイズメントを待っています:
 (デフォルトの構成では、60秒ごとにCDPパケットを送信します)
 CDPパケットを受信、ヘッダー長:372

 cdpパケット:
  バージョン:02
  生存時間:b4
  チェックサム:cfcb

 cdpタイプ/ len / val:
  タイプ:0001-デバイスID
  長さ:0016
デバイスID
  値:cisco.netcom.ks.ua

 cdpタイプ/ len / val:
  タイプ:0005-ソフトウェアバージョン
  長さ:00fc
ソフトウェアバージョン
  値:Cisco IOSソフトウェア、2800ソフトウェア(C2800NM-ADVIPSERVICESK9-M)、バージョン12.4(12)、リリースソフトウェア(fc1)
テクニカルサポート:http://www.cisco.com/techsupport
 Copyright(c)1986-2006 by Cisco Systems、Inc.
 prod_rel_teamが金曜日17-Nov-06 12:02にコンパイル

 cdpタイプ/ len / val:
  タイプ:0006-プラットフォーム
  長さ:000e
プラットフォーム
  値:Cisco 2811

 [...スキップ...]

 cdpタイプ/ len / val:
  タイプ:000b-二重
  長さ:0005
デュプレックス
  値:01 
データリンクタイプ:イーサネット(10MB、100MB、1000MB以上)。 


cdprで取得した出力は、必要に応じて、スクリプトで分析するのに非常に便利です。



また、別の興味深いプロジェクトについても説明したいと思います。

lldpd (IEEE 802.1ab LLDPを含む)-LLDP(Link Layer Discovery Protocol)およびCDP(Cisco Discovery Protocol)を介した受信と送信の両方を含むGNU / Linuxのデーモン。



パッケージをインストールします。

  $ sudo dpkg -i lldpd_0.4.1-1_i386.deb 


これで、コンパイルされたman lldpdプログラムの機能を調べることができます。 起動中にlldpdが自動的に起動するときに必要なオプションを追加するには、/ etc / default / lldpdを編集します。



lldpdからすべてのログエントリを開始した後、syslogを見ることができます。



lldpctlは引数なしで使用され、見つかったネイバーを表示します。 次は、シスコの近隣での検出後の出力の例です。

 インターフェイス:tun-cisco
 シャーシID:ciscotest(ローカル)
  SysName:ciscotest
  SysDescr:  
   実行中のCisco 7206VXR
    Ciscoインターネットワークオペレーティングシステムソフトウェア 
    IOS(tm)7200ソフトウェア(C7200-PM)、バージョン12.2(46)、リリースソフトウェア(fc1)
    Copyright(c)1986-2007 by cisco Systems、Inc.
   コンパイル済み木26-Apr-07 21:56 pwade
  MgmtIP:172.19.18.2
 キャップ:駅(E) 

  PortID:ca:00:50:7b:00:00(MAC)
  PortDescr:FastEthernet0 / 0

    Autoneg:サポートされていない/有効になっていない
    MAU operタイプ:不明(0) 


CDP、EDP、またはSONMPが含まれていた場合、次の猫には次のようなものが表示されます。

  ciscotest#show cdp neighbors 
機能コード:R-ルーター、T-トランスブリッジ、B-ソースルートブリッジ
                   S-スイッチ、H-ホスト、I-IGMP、r-リピーター

デバイスIDローカルIntrfce Holdtme機能プラットフォームポートID
 zoro Fas 0/0 104 Linux tun-cisco 


さて、この楽観的なメモで、私は記事を終えることができると思います;)



All Articles