netstatでは、TCP/IPプロトコルやネットワーク・インターフェイスの稼働状況を示す各種の統計情報値を表示することができる。ネットワークのトラブルシューティングのためには、これらの値も参考にするとよい。正常なときの値や挙動と比べることにより、問題点を素早く見つけることができる。OSでは、TCP/IPネットワークの動作状態を確認するために、netstatというコマンドが用意されている。-r」と入力してルーティング・テーブルの状態などを調べたりするために使われる。これらの使い方についてはすでに本TIPSでもいくつか取り上げているので参考にしていただきたい。以上のほかにもう1つ、netstatには、TCP/IPプロトコル・スタックの動作状況を表す「統計値(statistics)」を表示するという機能も用意されている。プロトコル・スタックの動作状態を調査し、例えば何パケット送受信したかとか、エラーがいくつ発生したのかなどの統計値を表示することができる。これらの値はネットワークが正常に稼働している限りあまり気にする必要のないものであるが、何らかのネットワーク・トラブルが発生した場合には、ここで表示される各種の数値は貴重な情報源となる。ネットワークのパケットを直接キャプチャして解析できないような場合には(パケットの解析ツールがすぐに使えるような状態になっていることは少ないだろう)、このnetstatで表示される統計値などを参考にしてトラブルの症状などを把握し、対処する必要がある。いうものの、netstatで表示される各種の統計値は、実際には単にTCP/IPのプロトコル・スタック内の各種の(エラー数などの)カウンタの値にすぎない。この数値を見るだけでたちどころにネットワークのトラブルの原因が分かるというものではないが、大ざっぱな判断を行うことはできるだろう。echoの送受信のカウンタが増えるはず、など)。逆に、通常は増えるはずのないカウンタの値が非常に大きな値になっているとすると、何らかのトラブルや設定ミスが考えられる(例:ICMPのRedirectなどは通常は0のはずだが、ルーティングの設定ミスがあると値が大きくなる、など)。このように、netstatで表示される各種の統計値は貴重な情報源であり、その意味を理解しておけばトラブルシューティングの強い味方となる。常日頃からこの統計値の値を調査するように心がけ、ネットワークが正常な場合にはどのような数値になっているのか、どのように値が増加するのかなどを理解していると、トラブル発生時の原因究明にも役立つであろう。これらの値はTCP/IPプロトコルの仕組みと密接にかかわっているので、TCP/IPプロトコルの習得にも役立つはずである。パフォーマンス・モニタのネットワーク関連オブジェクトをモニタする場合にも参考にしてほしい。-s」というコマンドを実行する。すると次のように、プロトコル別の統計値が表示されるだろう。Forwarded(ルーティングされているパケットの総数)」などのカウンタの値が0以外になっている。2000などでは、「IPv4」ではなく単に「IP」などとなっているが、意味は同じである。3423236以下ではこれらの値について簡単に説明しておく。これらの値が正確に何を表しているかを詳細に記述したドキュメントはマイクロソフトからは提供されていないようなので、以下の説明は、標準的なTCP/IPプロトコル・スタックの統計情報やパフォーマンス・モニタのネットワーク関連オブジェクト(IPv4やICMP、TCPv4、UPDv4など)の説明、実環境における観測値などに基づいていることをあらかじめお断りしておく。Statistics」セクションこのセクションでは、IPプロトコルに関する各種統計値が表示されている。IPプロトコルはTCP/IPプロトコルにおける基幹プロトコルであり、TCPやUDP、ICMPの各パケットはこのIPプロトコル上に構築されている。IPパケットの構造とIPフラグメンテーション」などを参照していただきたい。fragmentation)」とは、1度に送信することができないので(例:イーサネットでは、最大パケット・サイズは1500byteまで)、IPパケット(最大64Kbytes)をいくつかに分割することを指す。このとき、分割されたそれぞれの小さなパケットを「IPフラグメント」、IPフラグメントを全部集めて元のIPパケットに戻すことを「再構成(Reassemble)」という。フラグメントの再構成が成功した回数。送信時にMTUサイズを超えるので、フラグメント化された送信IPパケットの総数。Created」の値は2増加する。ある種のファイアウォールでは、フラグメント化されたパケットは拒否するようになっている(IPフラグメントを使った攻撃を避けるため)。送信IPパケットをフラグメント化して、作成されたフラグメント・パケットの総数。Statistics」セクションこのセクションでは、ICMPプロトコルに関する統計値が表示される。送信と受信のそれぞれについて値が表示されるので、例えばping(ICMPエコー・コマンド)パケットを1つだけ送信すると、ICMPエコー応答を1つだけ受信して、それぞれの送信カウンタと受信カウンタが1つずつ増加する。TCP/IPプロトコルを支えるICMPメッセージ」などを参照していただきたい。Live)値が、ルーティングの途中で0になってしまったというICMPメッセージ・パケットの総数。「Redirect(より適切なルートがほかにあるのでリダイレクトせよ)」というICMPメッセージ・パケットの総数。IPv4」セクションここでは、「TCP(信頼性のある、ストリーム通信を実現するための双方向通信プロトコル)」に関する統計値が表示される。アクティブ・オープン(ローカル側から、外部のマシンへ向けてオープンすること)でオープンしたコネクションの総数。パッシブ・オープン(外部からの接続要求を受け付けるタイプのオープン)でオープンしたコネクションの総数。IPv4」セクションここでは、「UDP(信頼性のない、データグラム型通信プロトコル)」に関する統計値が表示される。Statistics」セクション以上はTCPやUDP、IPに関する統計値であったが、netstatではこのほかに、ネットワーク・インターフェイス(イーサネット)に関する統計情報を表示することもできる。-e」というコマンドを実行する。この値を調べることにより、イーサネット・ケーブル上で何らかの物理的なエラーが生じているなどのエラーを知ることができる。29426この値もICMPと同様に、送信と受信のそれぞれに関する統計値が表示される。そのため、送信カウンタは増加しているが、受信カウンタが0である、というような症状も見つけることができる。めったに起こらないが、例えば受信の割り込み設定が間違っているとこのような症状が発生することがある。ネットワーク・カードでは、イーサネット・パケットの送信は自動的に行われるが、受信は割り込み駆動が普通なので(パケットを受信すると、割り込みを使ってOSへ通知する)、割り込みの設定が間違っていたりすると、このような症状が発生することがある。送信か受信のどちらかのケーブルが断線していても、いずれかのカウンタの値が0のままという症状が発生するので、これを見つけることができるだろう。ユニキャスト・パケット(あて先MACアドレスの先頭バイトの最下位bitが0のアドレスあてのパケット。ユニキャスト・パケット(あて先MACアドレスの先頭バイトの最下位bitが1のアドレスあてのパケット。不特定多数のあて先向けのパケット)の総数。統計値の連続表示netstatコマンドの引数に数値(単位は秒)を付けると、netstatを連続して繰り返し実行することができる。udp」などとする)、そのプロトコルに関する情報だけを連続して継続的にモニタすることができる。1」ならば、ICMPプロトコルに関する情報を1秒おきに繰り返し表示する。この状態で例えば別のコマンド・プロンプトからpingを行うと、該当するカウンタが増加するのが観察できるだろう。ネットワークのキャプチャ・ソフトウェアを起動するとか、パフォーマンス・モニタを起動するよりも、手軽にネットワークの状態を観察することができるので、(ほかに利用できるツールなどがないときに)活用してほしい。より自動抽出したものです。(2017/7/21)キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。