• ベストアンサー

WinSockによるRMON2 MIB管理

RMON2 MIBを監視するトラフィックモニタを作ろうと画策しています。 WinSock(処理系はBorlan C++ Builder)でMIBに接続して、と考えています。 RFC2072は読んだのですが英語力不足のため納得が行かない部分がいくつかあります。 RMON2、トラフィック管理に関する書籍があれば推薦いただきたいと思います。 よろしくお願いします。 ターゲットはCISCOルーターで、ポート単位にトラフィックを監視したいのです。 市販のモニタは高価なわりに使えなくて…。

質問者が選んだベストアンサー

  • ベストアンサー
  • igmp
  • ベストアンサー率28% (156/546)
回答No.2

以下の書籍がお勧めです。 1)題名: RMON   著者: DAVID T. PERKINS   参考URL: http://www.phptr.com   日本語版が出版されているかどうかは不明ですが、厚み3cm程度の本で、   これ以上の参考文献はないかと思います。 2)題名: SNMP, SNMPv2, and CMIP   著者: William Stallings   日本語版:「SNMPバイブル」、発売元は(株)星雲社   こちらも3cm程度の赤い表紙の本ですが内容はRMON1のみです。

参考URL:
http://www.phptr.com
toysmith
質問者

お礼

具体的な御紹介ありがとうございます。 amazon.co.jpで「SNMPバイブル」を検索したら関連書籍がいくつか見つかりました。 片っ端から読んでみます。 でも、本当に良い本ってやっぱり英語ですよね。 不安はありますが頑張ってみます。

その他の回答 (1)

  • kens-f
  • ベストアンサー率19% (7/36)
回答No.1

CISCOルータをチェックするならRFCはまぁあたりまえだけど、 CiscoMIBを見た方がよろしいのでは? ポート単位にトラフィックをチェックするなら InBits、OutBitsのMIBを取得すれば可能です。 後は自分で調べてね。 では。

toysmith
質問者

お礼

情報ありがとうごうざいます。 CiscoMIB,InBits,OutBitsいうキーワードをいただけたのでCisco関連の文献の海に沈んでみます。 そうそう、RFCは2074でした。

関連するQ&A

  • MRTGのグラフ表示について

    サーバーにMRTGをインストールし、NW機器10数機のトラフィックを監視しています。 ここで、一つ疑問点があります。 出力される最大受信/送信バイト数を見ていると、 明らかに値が小さいのです。 普通は10数M単位でトラフィックが流れているはずなのですが、数100Kぐらいしか値として返ってこないのです。 cfgファイルの定義に問題があるのでしょうか? ちなみに、セットしている定義は、 Target HtmlDir LogDir ImageDir Refresh Growright だけです。 どなたが、アドバイスください! 不足情報があれば、書き込んでいきます! 宜しく御願い致します!

  • ZabbixのLLDを使用したNW機器監視について

    Zabbixについて質問させて下さい。 ============================================= [機器構成]  Zabbixバージョン:v2.2.10  監視対象:L2スイッチ(Catalyst 2960-S)       L3スイッチ(Catalyst 3560-E) ============================================= 現在、L2SWとL3SWのポート別トラフィック量の監視をZabbixのLLD (ローレベルディスカバリ)を活用して行おうとしています。 既存のテンプレート「Template SNMP Device」にディスカバリの 設定もされていることから、このテンプレートを各スイッチに適用 するようにWeb管理画面で設定したところ、 「アイテムのキー"ifDescr"のインターフェースは"機器名"に存在しません」 というエラーが出てしまいます。 Zabbixサーバから各スイッチに対してsnmpwalkによるOID取得は可能で、 その一覧の中に「IF-MIB::ifDescr.10101 = STRING: GigabitEthernet0/1」 といったものも含まれているので、「存在しません」というエラーは おかしいと思うのですが、対応策が分からず苦慮しております。 各スイッチに対するPingによる死活監視は出来るのでネットワーク的に 通信が出来ないということもないとは思うのですが、どこか別の部分で 紐付けする必要があるのでしょうか。

  • Winsock

    チャットプログラムを作りたく思い、初めてWinsockプログラミングにとりかかることになりました。 ログイン時に存在を知らしめるため、RemoteHostプロパティ???.???.???.255(じぶんちねっと)相手にUDP15500ポートに文字列を送信します。 マシンA UDP15500で待ち状態 マシンB UDP15500で待ち状態 マシンA ???.???.???.255のUDP15500に文字列送信 マシンA 受信 マシンA 送信 マシンA 受信 マシンA 送信 マシンA 受信 ・・・何度やっても同じ。 マシンB 送信 マシンA 受信 マシンB 受信 ・・・ここでなぜか両方受信できる。 マシンA 送信 マシンB 受信 マシンA 送信 マシンB 受信 マシンB 送信 マシンA 受信 マシンB 送信 マシンA 受信 マシンB 送信 マシンA 受信 ・・・・ 最初は自分で送ったメッセージを自分が受信してるだけなのですが、そこでもう片方がメッセージを送ると両方が受信します。 その後、どちらがメッセージを送っても、もう片方に届くだけで、自分には届きません。 しかし、両方のプログラムを再起動すると、また、同じ動作が最初から確認できます。 これはいったい、何が原因でこういうことになってるんでしょう。 もう1つ質問があります。 このようなサーバーを必要としないようなチャットプログラムのようなものを作るとき、そもそもUDPを使っていいのか、ポートは何番を使っていいのかとか、教えてもらえませんか?

  • winsockについて

    http://www.katto.comm.waseda.ac.jp/~katto/Class/GazoTokuron/code/socket.html こちらのTCPのサンプルを使ってみたのですがうまくいきません。 クライアントを実行しても、サーバにメッセージが表示されません。 クライアントの dstAddr.sin_addr.s_addr にサーバのグローバルIPを指定したのですが、それであっていいますか?

  • Winsockについて

    OS :WindowsXP 開発言語 :VC++ Winsock :2.2 現在、Winsockプログラムにて下記のようなテストをしています。 接続 ⇒ データ送信(正常) ⇒ LANケーブル抜く ⇒ データ送信(当然エラー) ⇒ LANケーブル挿す ⇒ データ送信 ・・・ ←ここでもエラーが発生してしまいます。 Winsockの通信は一度切れてしまうと最初から接続しなおさないと駄目なのでしょうか。

  • Winsockについて

    UNIX like OSでは、同一マシン内のソフトとは UNIX ドメインソケット、ネットワーク上のマシンのソフトとは、 INET ドメインソケットを用いると思うのですが、 Windowsの場合のソケットインタフェースであるWinsockは、 上記のUNIX ドメインソケット、INET ドメインソケットと、 どういう関係はあるのでしょうか?

  • winsockについて教えてください。

    winsockについて教えてください。 ネットワーク系は初心者なので、理解が遅いと思いますが、お手柔らかに御願いします。 始めは、perlでクライアント側もサーバ側もソケットで通信するプログラムを書いたんですが、 クライアント側のpcはperlが標準装備ではないので、クライアント側だけVC++で書き直そうと、現在しているのですが、うまくクライアント側で受信してくれません。 書いたソースは、 #include <stdlib.h> #include <conio.h> #include <stdio.h> #include <winsock2.h> #include <cstdlib> #include <iostream> #include <fstream> #define BUFSIZE 256 #define FILENAME "C:\\abc.dat" int main(void) { FILE *fp; int nRtn; char fname[BUFSIZE] = FILENAME; char StrRcv[RECVSIZE]; SOCKET s; //ソケット //接続するサーバの情報 struct sockaddr_in dest; //接続するサーバのIPアドレス //xxx.xxx.xxx.xxxの形式で指定する char destination[] = "xxx.xxx.xxx.xxx"; char buffer[BUFSIZE]; char send_buf[BUFSIZE]; //ソケット通信の準備 WSADATA data; WSAStartup(MAKEWORD(2,0), &data); //接続先(サーバ)のアドレス情報を設定 memset(&dest, 0, sizeof(dest)); //ポート番号はサーバプログラムと共通 dest.sin_port = htons(3001); dest.sin_family = AF_INET; dest.sin_addr.s_addr = inet_addr(destination); //ソケットの生成 s = socket(AF_INET, SOCK_STREAM, 0); //サーバへの接続 if(connect(s, (struct sockaddr *) &dest, sizeof(dest))){ printf("%sに接続できませんでした\n", destination); return -1; } printf("%sに接続しました\n", destination); //ファイルの読込み if((fp=fopen(fname,"r"))==NULL){ printf("ファイルを開けませんでした\n"); exit(1); } //ファイルサイズ取得(フルパスで書く) ifstream ifs(FILENAME, ios_base::binary); //VC++の場合、peek()で読み込まないとファイルが開かれない ifs.peek(); streamsize size = ifs.rdbuf()->in_avail(); //ファイルサイズを出力します printf("size = %d\n",size); while((fgets(send_buf,size,fp)) != 0){ send(s,send_buf,size, 0); }    fclose(fp); //サーバからデータを受信 while(1){ memset(StrRcv, '\0', sizeof(StrRcv)); nRtn = recv(s, StrRcv, (int)sizeof(StrRcv) - 1, 0); printf("→ %s\n\n", StrRcv); if(nRtn == 0) break; if(nRtn ==SOCKET_ERROR){ perror("recvエラーです。\n"); break; } } recv(s, buffer, size , 0); printf("→ %s\n\n", buffer); // Windows でのソケットの終了 shutdown(s,2); closesocket(s); WSACleanup(); return 0; } とこんな感じです。 abc.datの中身はabc。 どこがおかしいかどなたかご教授ください。

  • Winsock

    Winsockの入手先を教えてくださいませ。

  • winsockについて

    winsock、非同期モードでTCP/IP通信を行うようなプログラムを作成しています。 通常の同期モードでのプログラムは完成させることができました。 そこで、クライアント側を非同期モードにし、受信バッファにデータが入ったら受信するというようなプログラムにしたのですが、どうもうまく動作してくれません。 やはりサーバー側も非同期モードにしなければならないのですか?? どなたかご教授お願いします。

  • winsock2について

    すみません。教えてください。 [内容] WinSock2の仕様がいまいちわかりませんので、教えていただきたいのですが、たとえば、クライアントからサーバに接続して、サーバ側のexeファイルを実行し、サーバ側の情報を取得する。というようなことは出来るのでしょうか? もし、出来ないのあれば、 クライアント側にA.exeを作成 サーバ側B.exeを作成 し、B.exeは常に常駐とし、A.exeから送信した内容をB.exeで受信して、それをキーとし、B.exe実行する。クライアントからサーバ側でB.exeを実行するにはこの方法しかないのでしょうか? リモート操作がしたいのですが、いろいろ調べても(WMI、VBS)セキュリティ上どれも問題あるので....

専門家に質問してみよう