WireSharkでパケットキャプチャ時に自ホストから発信しているパケットが見えず、受信パケットのみ表示される。

最近、立て続けに何人かから同じ相談を受けたのでブログに書いておきます。WireSharkでパケットをキャプチャしているときに、受信パケットは見えるのに、送信パケットが見えない時の対処方法です。 例えば、この例ではキャプチャをしているホストのIPアドレスは172.24.14.116です。ストリームを表示しているのに、SourceとDestinationが全て同一になってしまっています。受信のパケットしか表示されていません。 いくつか原因は考えられるのですが、まず確認したいのは「DNE LightWeight Filter」です。 このように、Windows Vista, 2008以降であれば「DNE LightWeight Filter」が有効になっているケースが多いはずです。このコンポーネントが有効だと、このような現象が発生します。 回避策としてはチェックを外してしまえば良いです。 ただし、この構成変更の副作用によって、例えばVPNソフトウェアが正常に動かなくなるなどの事象が発生するかもしれません。その場合にはキャプチャが終了したら設定を元に戻す必要がありますのでご注意下さい。

June 13, 2014 · 1 min · 胡田昌彦

もしかしてネットワークがおかしい?という時の確認ポイントとその方法。

今回は「もしかしてネットワークがおかしい?」という時のポイントの話をしようとおもいます。「もしかしておかしい?」というのは随分と曖昧な表現ですが、実際にこのような微妙な状況というのはよく起こるものです。 - 通常の処理は全部正常に出来るのだけれども、時間がかかりすぎているような感じがする。 - ほとんどの処理は正常なのだけれども、サイズの大きなファイルを扱う時だけうまくいかない。 - ネットワーク上のファイルコピーになんだかやけに長い時間がかかる・・・けど、ほおっておけば終わる。 - なんとなくネットワークを利用する処理が重い気がする。 このようなことは良くあります。よくある問題やチェックポイント等、私がいつも意識してチェックしている項目を紹介します。 SNP Windows Vista以降、ネットワーク関連で何か怪しいところがあればまず試してみるのがこの項目です。本来性能Upのためにあるものなのですけど…ね。 - [予期せぬ挙動が!? 新機能 Scalable Networking Pack をご存知ですか? - Ask the Network & AD Support Team - Site Home - TechNet Blogs](http://blogs.technet.com/b/jpntsblog/archive/2010/03/23/scalable-networking-pack.aspx) - [[Windows 7編]ネットワーク設定を標準で使ってはいけない - ITアーキテクトの「やってはいけない」:ITpro](http://itpro.nikkeibp.co.jp/article/COLUMN/20100824/351391/) SNPの実装自体はWindows Server 2003 SP2のころからあったようですが、規定の状態で有効になったのはVista以降とのことです。時間がたち、技術が成熟することで問題は落ち着き本来の性能向上の恩恵にあずかれる…状態には残念ながらまだまだならないようです。さらにHyper-V上で複数の仮想OSが稼働するようになって問題発生時の複雑度がさらに上がっている印象です。残念ですが、とりあえず現段階では「すべて無効にする」のが得策だと思います。 得に注意したいのは「OSで設定を無効にするだけではなく、HW側の設定も無効にする」という事です。「SNP無効にしてる?」「うん。してるよ。それでもまだ問題が発生しているんだ。」というケースでも実はHW側ではまだ機能が有効で、それにより問題が引き起こされていた…ということが何度かありました。 ジャンボフレーム ジャンボフレームが原因でネットワークのトラブルが起きるケースがあります。もちろんこちらもきちんと構成すればパフォーマンスが向上するのですが…。ジャンボフレームについては以下の記事が理解しやすいと思います。 - [イーサネットを高速化するジャンボ・フレーム技術 - @IT](http://www.atmarkit.co.jp/fwin2k/pchard/05jumbo/05jumbo_01.html) ジャンボフレームはTCPの3ウェイ・ハンドシェイクの中でMSSとして値が渡されホスト間でパケットサイズが決定されるので、「通信するホストはどちらもジャンボフレームに対応しているんだけど、間のネットワークにはジャンボフレーム未対応のスイッチやルーターがある」というような場合にトラブルが発生します。しかも小さいサイズのパケットは普通に通るので「pingは全く問題ないんだけどな」というようなことになりがちです。 ブラックホールルーター ジャンボフレームの問題とかなり発生メカニズムや症状は似てくるのですが、発生原因が異なるのがブラックホールルーター問題。昔からときおり見かけるやっかいな存在です。 - [ブラック ホール ルーターの問題をトラブルシュートする方法](http://support.microsoft.com/kb/314825/ja) 解決手順にはセオリーがありますので上記のKBをよく読んでもらえるといいと思います。 ポート枯渇 TCPポートが枯渇することで問題が発生することもあります。TCPポートについてはレイヤ4 -トランスポート層- ポート番号をご覧ください。1つの典型的なケースとしてフロントエンド/バックエンドシステムでTCPポートが涸渇する問題への対処方法を紹介しましたが、このパターン以外でも様々なケースでポート枯渇問題に遭遇することがあります。基本的にnetstat -anコマンドにてコネクションの数を確認すればこの問題が発生しているかどうか判別することができます。集計にはPowerShellで簡単に集計する方法なども使えます。 パケットを見る 上記のどの問題も、それ以外の問題もパケットを見れば理屈上は全部わかるはずです。パケットを見るにはパケットをキャプチャする方法で紹介した方法をつかってまずパケットを取得します。 その後色々な見方がありますが、私がまずお勧めするのはwiresharkでのフィルタを使った確認方法です。 ...

April 27, 2012 · 1 min · 胡田昌彦

パケットをキャプチャする方法

今回はパケットをキャプチャする方法です。パケットキャプチャというとネットワークの専門家の専売特許であってネットワークのプロでないと見ても意味が分からない難しいもの…と敬遠してしまいがちですが、実はパケットを取得して中身を見る事自体はすごく簡単に行えます。最後の手段ではなく、最初の手段とすることをお勧めします。 最後の手段ではなく、最初の一手に 何かトラブルがおきた際には色々な切り分け方法がありますが、とりあえず取得する情報の1つとしてパケットの取得をお勧めします。もちろんネットワークが絡まない場合には取得の必要はないのですが、昨今のシステムでネットワークが絡まないものはほぼ無いので事実上頻繁に取得する事になると思います。 パケットを見て、そこからすべて原因を判明させるのではなく - 問題がどこにあるのかの切り分け - ネットワーク部分の問題かどうかの切り分け - 他にどこを調べるべきかの手がかり など、次につなげていくことができます。私は個人的にメールシステムのトラブルなどに対応することが多いので、文字化けの問題だろうと、滞留する問題だろうと、何でもとりあえずパケットを取得して状況を確認します。 何を使ってパケットを取得するか パケットを取得するソフトには色々ありますが、Windows 2000 ServerやWindows Server 2003の時代にはOSにNetwork Monitorが標準で付属していましたのでそれを使ってキャプチャすることが非常に多かったです。Server系だと外部のソフトウェアのインストールは禁止というお客さんが多いのですが、OSのコンポーネントの追加という形であれば許可が出やすいからです。この場合、[プログラムの追加と削除]の[Windowsコンポーネントの追加と削除]から追加する事ができました。 ですが、Windows Server 2008からはNetwork MonitorはOSには付属しなくなりました。なぜかはよく知りません(あまり興味ありません)。それでもやっぱりマイクロソフト製じゃないとServerへのインストールは許可していただけないお客様が多いので通常Network Monitorの最新版をダウンロードして持ち込み、インストールさせてもらう事が多いです。 Download: Microsoft Network Monitor 3.4 - Microsoft Download Center - Download Details 基本的なインストール方法やキャプチャの方法に関してはネット上にたくさん情報がありますので、以下のあたりを参照してもらえれば良いと思います。 Network Monitor 3 を使用したパケットの採取 - Ask the Network & AD Support Team - Site Home - TechNet Blogs また、以下は個人的なポイントです。 - Network Monitorインストール時には基本的にOS再起動は必要ない。 - [Temporary capture file] の [Size] 項目は必ず大きくしておく事。パケットを取得しているつもりでサイズの上限に達していて取得できていなかった!というのは痛すぎますので注意!! - サーバーへのインストールが許可されなかった場合にはスイッチのミラーポート設定にて別端末でパケットを取得する。この場合かならずプロミスキャスモード(自分宛のパケット以外も取得するモード)にしておかないと目的のパケットが取得できないので注意。(※昔は10MBpsのリピータハブをパケットキャプチャように常備しておいたものですが、最近ではそういうことはしなくなりましたね。) - ネットワーク上でパケットロストなども疑われる場合には1つのホスト上だけではなくて、通信相手でも同時にパケットをキャプチャし、両方を突き合わせて解析できるようにします。 キャプチャ後の解析 パケットをキャプチャした後は解析を行うのですが、この場合にはNetwork Monitorを使っても良いですが、別のものを使ってもかまいません。もちろんNetwork Monitorのファイル形式(pcap)が読める必要はあります。 ...

February 2, 2012 · 1 min · 胡田昌彦