Wiresharkの操作方法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[監視・パケット解析編]]
--[[電文を確認する方法(パケット・キャプチャ)]]
* 目次 [#u9cf3965]
#contents
*概要 [#e89ee161]
-OSSソフトウェアLANアナライザであるWiresharkの操作方法を...
-元ネタが古く、wireshark-setup-0.99.7.exeを使用している(...
*Wiresharkの特徴 [#g325bafe]
**区分 [#tc00de21]
LANアナライザには、以下の区分がある。
#ref(ClassificationOfLanAnalyzer.png,left,nowrap,LANアナ...
**区分ごとの特徴 [#ifd638ff]
これらのLANアナライザには、それぞれ以下のような区分がある。
-LANアナライザの区分毎の特徴
|#|区分|>|特徴|h
|1|ハードウェア&br;LANアナライザ|長所|持ち運びが容易。下...
|~|~|短所|ソフトウェアLANアナライザと比べ、統計・レポート...
|~|~|価格|一般的に高価である。|
|2|商用ソフトウェア&br;LANアナライザ|長所|統計・レポート...
|~|~|短所|NICドライバでキャプチャ可能である必要があるので...
|~|~|価格|一般的に高価である。|
|3|OSSソフトウェアLANアナライザ|長所|プロトコル毎のパケッ...
|~|~|短所|NICドライバでキャプチャ可能である必要があるので...
|~|~|価格|無償で利用可能。|
-Wiresharkは、OSSソフトウェアLANアナライザ。~
下位レイヤの、ケーブル品質の調査、エラーフレームの測定な...
*インストール [#qf44684f]
**ダウンロード [#t657fcc8]
以下からWindows版のWiresharkのインストーラをダウンロード
-Wireshark: Download~
http://www.wireshark.org/download.html
**インストール [#fc55fd6f]
-デフォルト設定でインストールする。
-基本的にデフォルトのインストールで問題ない。
-以下、インストール オプションの注意点のみ抜粋して説明す...
--(a) のインストール オプションは、
---Wiresharkのインターフェイスのオプションで、~
前バーションのEtherealのインターフェイスで利用したい場合...
「Wireshark(legacy GTK1 user interface)」を選択する。
---ココでは「Wireshark(GTK2 user interface)」前提で説明...
--(b) のインストール オプションは、
---[[WinPcap>#nbe59c8a]]をインストールするかどうかのオプ...
---Wiresharkのパケット キャプチャに必須のソフトウェアであ...
---既にインストールされている場合を除いて必ずインストール...
--(c) のインストール オプションは、
---Administrator権限を持たないユーザでもパケット キャプチ...
---Wiresharkはプロミスキャスモードのパケット キャプチャが...
プロミスキャスモードを必要としない場合は、基本的にこのオ...
#ref(ClassificationOfLanAnalyzer.png,left,nowrap,Wireshar...
>インストールが完了したら、Wiresharkを起動する。
*キャプチャ準備 [#e9a0c3ed]
**[Capture Interfaces]ダイアログ [#v6da81eb]
キャプチャは、メニューの[Capture] → [Interface]で表示され...
監視対象のインターフェイス(NIC)の[Start]ボタンを押して...
#ref(CaptureInterfacesDialog.png,left,nowrap,[Capture Int...
**[Capture Option]ダイアログ [#t9def31f]
-キャプチャ オプションを設定したい場合は、[Option]ボタン...
-[Capture Option]ダイアログでは、キャプチャ オプションを...
#ref(CaptureOptionDialog.png,left,nowrap,[Capture Option]...
-初めに、[[(1)>#oa7f89b5]]を選択し、
-重要な設定として以下の[[(3)>#l79e4950]]/[[(6)>#w3d6d01d]...
-その他の設定は、必要に応じて設定・確認する。
-設定が完了したら、[Start]ボタンを押してトラフィックの監...
***設定項目 : (1) 監視対象のインターフェイス(NIC)を選択...
-初めに、(1)を選択し、監視対象のインターフェイス(NIC)を...
***設定項目 : (2) 監視に使用するメモリ量 [#laeee2a3]
-監視に使用するメモリ量を設定する。
-ファイル保存しない場合や、ファイル保存する場合にファイル...
性能低下を防ぐためのバッファリング処理に必要なメモリ量を...
***設定項目 : (3) プロミスキャス モード [#l79e4950]
-プロミスキャス モードのオン・オフを設定する。
-プロミスキャス モードで監視する場合、このチェック ボック...
***設定項目 : (4) パケットのデータ サイズ [#kb626bb4]
-キャプチャするパケットのデータ サイズを設定する。
-設定がオフの場合、全てのデータをキャプチャする。
-オンにしてサイズを設定した場合、指定サイズより後ろのデー...
***設定項目 : (5) キャプチャ フィルタ [#m4d02828]
-キャプチャするデータをフィルタする設定をする。
-Wiresharkでは、これをキャプチャ フィルタと呼ぶ。
-フィルタ設定については、後述の[[キャプチャ フィルタ設定...
***設定項目 : (6) リアルタイム更新 [#w3d6d01d]
-リアルタイムにパケット リストを更新するかどうかを設定す...
-リアルタイムにトラフィックを参照したい場合は、[Update li...
-また、パケット リストの自動スクロールの設定は、[Automati...
-また、[Hide capture info dialog] チェック ボックスがオフ...
[Capture Info]ダイアログが表示され、簡単な統計情報を確認...
***設定項目 : (7) ファイル保存 [#tfe6a0a2]
-キャプチャしたデータのファイル保存に関する設定をする。
-ファイル名、ローリング方法、保持するファイルの最大数など...
***設定項目 : (8) 名前解決 [#lcb90ac1]
-名前解決に関する設定をする。
-この設定を有効にすると監視処理の性能が悪化することがある...
名前解決は、キャプチャ後に実行することを推奨する。
--[Enable MAC name resolution]は、MAC → メーカの名前に名...
--[Enable network name resolution]は、IP → マシン名・FQDN...
--[Enable transport name resolution]は、ポート番号 → サー...
***設定項目 : (9) 監視の停止方法 [#qea75517]
-パケット キャプチャの停止方法を設定する。
-キャプチャしたパケット数、データ量、時間などで設定できる。
-ファイル保存をする場合、データ量による停止は無効になる。
**キャプチャ フィルタ [#u21fba22]
[Capture Option]ダイアログの[Capture Filter]テキスト ボッ...
(このキャプチャ フィルタ用のフィルタ式は、後述の[[ディス...
***フィルタの例から選択する [#l467c63e]
[Capture Option]ダイアログの[Capture Filter]ボタンを押せ...
[Capture Filter]ダイアログ ボックスが表示され、フィルタの...
#ref(CaptureFilterDialog.png,left,nowrap,[Capture Filter]...
-[Filter]リスト ボックスからフィルタの例を選択し[OK]ボタ...
[Capture Filter]テキスト ボックスに対応するフィルタ式が設...
-また、[New]ボタンを押して新しいフィルタの例を作成するこ...
***フィルタ式・演算子 [#c18e9cfb]
キャプチャ フィルタには、幾つかのフィルタ式、演算子が用意...
詳細は、下記のサイトを参照のこと。
-The Wireshark Wiki > CaptureFilters~
http://wiki.wireshark.org/CaptureFilters
-Wireshark USER's Guide > 4.8. Filtering while capturing~
http://www.wireshark.org/docs/wsug_html_chunked/ChCapCapt...
*キャプチャ開始 [#x4e94db2]
**[Capture form (インターフェイス名)]ダイアログ [#g0311...
-メニューの[Capture]を選択し[Interface]をクリックする。
-すると、[Capture Interface]ダイアログにインターフェイス...
トラフィックを監視するNICの[Option]ボタンを押して、[[前述...
[Hide capture info dialog] チェック ボックスのチェックを...
-これにより、以下の[Capture form (インターフェイス名)]...
-このダイアログの、 [Stop]ボタンが押されるか、停止設定値...
-以下の図は、NIC監視中の[Capture form (インターフェイス...
#ref(CaptureFormInterfaceDialog.png,left,nowrap,[Capture ...
-[Capture form (インターフェイス名)]ダイアログから、
--一般的なネットワークでは、殆どのトラフィックはTCP/IP(...
--次いでUDP(DHCPのブロードキャスト、DNSクエリ)などのプ...
--その他のプロトコルとしては、ARP(イーサネットで内のIP →...
***補足 [#uffa2042]
-現在のWindowsネットワークでは、NetBIOS (NBT)が使用され...
この画面ではNetBIOS(NetBEUI)プロトコルのパケットは確認...
-稀に、プリンタ サーバなどが発するNetBIOS(NetBEUI)のパ...
-NetBIOS (NBT)が使用されていることは、キャプチャ後、次...
>例えば、
--NetBIOSの名前解決であるNetBIOSネーム サービス(NBNB)
--ブラウジング機能などが使用するNetBIOSデータグラム サー...
--ファイル共有(SMB)などが使用するNetBIOSセッション サー...
>を確認できる。
*キャプチャ結果の確認 [#v6d690d1]
**GUIの確認 [#o1b483bc]
キャプチャを終了すると以下のような画面が表示される。ここ...
※ メニュー バーの[View]で対応する表示部位 のチェックを外...
#ref(MainScreen.png,left,nowrap,メイン画面)
以下、それぞれの表示部位に表示される表示項目について説明...
***メニュー バー [#jeebbfd1]
[メニュー バー]は、Wiresharkの各機能を呼び出す際に使用す...
***ツール バー [#tf0d7e50]
[ツール バー]には、良く使う機能がボタンとして用意されてい...
-~
#ref(Menu1.png,left,nowrap,メニュー1)
--ファイルの、オープン、セーブ、クローズ、リロードが可能。
--オープン・セーブの際は、対象パケットの入・出力範囲の選...
-~
#ref(Menu2.png,left,nowrap,メニュー2)
--パケット印刷ダイアログを表示し、データのプリンタ出力や
--テキストファイル出力ができる。出力範囲・出力部位の選択...
#ref(PacketPrintingDialog.png,left,nowrap,パケット印刷ダ...
-~
#ref(Menu3.png,left,nowrap,メニュー3)
--パケット検索ダイアログを表示し、条件に合ったパケットに...
--検索条件には、フィルタ式、16進値、文字列値などが指定...
#ref(PacketSearchDialog.png,left,nowrap,パケット検索ダイ...
-~
#ref(Menu4.png,left,nowrap,メニュー4)
>直前・直後に参照したパケットに移動する。
-~
#ref(Menu5.png,left,nowrap,メニュー5)
>表示されたダイアログにパケット ナンバーを指定することで...
-~
#ref(Menu6.png,left,nowrap,メニュー6)
>最初・最後のパケットに移動する。
***フィルタ ツール バー [#p84a8e94]
-[フィルタ ツール バー]は、キャプチャしたパケットをフィル...
-Wiresharkでは、これを[[ディスプレイ フィルタ>#n95722ad]]...
-[[ディスプレイ フィルタ>#n95722ad]]は、[[ディスプレイ フ...
#ref(FilterToolBar.png,left,nowrap,[フィルタ ツール バー])
-以下、[フィルタ ツール バー]のボタンについて説明する。
|#|ボタン|説明|h
|1|[Filter]ボタン|[Display Filter]ダイアログで、フィルタ...
|2|[▼]ドロップダウン リスト|過去のフィルタ式を選択できる。|
|3|[Expression]ボタン|[Filter Expression]ダイアログで、フ...
|4|[Clear]ボタン|フィルタ式をクリアする。|
|5|[Apply]ボタン|フィルタ式を適用する。|
#ref(DisplayFilterDialog1.png,left,nowrap,[Display Filter...
[Display Filter]ダイアログについては、「[[フィルタの例か...
#ref(FilterExpressionDialog.png,left,nowrap,[Filter Expre...
[Filter Expression]ダイアログについては、「[[高度なフィル...
***パケット一覧部 [#a7233181]
-[パケット一覧部]には、キャプチャしたパケットの概要がレコ...
-1行に付き1パケット(フレーム)が表示され、簡単な説明が表...
#ref(PacketListPart.png,left,nowrap,パケット一覧部)
-以下、レコードのカラムについて説明する。
|#|項目|説明|h
|1|No|キャプチャしたパケット番号(パケット番号はフィルタ...
|2|Time|キャプチャした時間表示&br;メニューの[Time Display...
|3|Source|送信元のMACアドレス、IPアドレス、ホスト名など|
|4|Destination|送信先のMACアドレス、IPアドレス、ホスト名...
|5|Protocol|最上位層のプロトコル(プロトコル パーサで解釈...
|6|Info|各プロトコルの簡易情報&br;概要の把握には役に立つ...
-上記のレコードは、ファイル共有(SMB)機能で、
--ファイルを送信する「Write AndX Request」コマンドと、
--送信ファイルのデータ部が分割されたTCPパケットである 。
--[TCP segment of a reassembled PDU]という情報は、
---TCPでストリームに書き込んだデータのサイズが大き過ぎる...
IPレイヤで複数のIPパケットに分割されたことを意味する。
---この情報は、[[後述するWiresharkにより生成された追加情...
であり、パケットのデータ中には含まれない。
-これらの分割されたパケットは、ファイル共有(SMB)による...
--SMBのコマンド情報が含まれないのでプロトコル パーサが反...
--SMBの「Write AndX Request」コマンドのパケットには、デー...
「Write AndX Request」コマンドによる通信データは、イーサ...
1460バイト毎に分割されて送信される(この場合、61440 ÷ 146...
***パケット詳細部 [#bcc20870]
-[パケット詳細部]には、[[[パケット一覧部>#a7233181]]]で選...
-プロトコル パーサによって解釈された情報がレイヤ毎に表示...
-レイヤ : フレーム → イーサネット フレーム → IPパケット →...
#ref(PacketDetailPart1.png,left,nowrap,パケット詳細部(プ...
-[パケット詳細部]の情報を選択した状態で右クリック、~
[Copy] → [Description]を選択することで、[パケット詳細部]...
このコピーした情報を検索(Find)機能で使用できる。
#ref(PacketDetailPart2.png,left,nowrap,パケット詳細部の情...
-また、[パケット詳細部]には以下の追加情報が出力される~
(これらの情報はパケットのデータ中には含まれないので注意...
--TCPパケットの前後の関係をWiresharkが判断して自動生成性...
--他のパケットへのリンク(Link)
-例えば、パケット詳細部の[SEQ/ACK Analysis]フィールドには、
--シーケンス番号・ACK番号からTCPの通信シーケンスを分析す...
--以下の図に示す[This is an ACK to the segment in frame: ...
このパケットがリンク先のパケットに対するACKであることを示...
#ref(PacketDetailPart_AdditionalInformationAndLinks1.png,...
-[[[パケット一覧部>#a7233181]]]の簡易情報に表示されていた...
-[パケット詳細部]を確認すると、下記情報が表示されているこ...
--[Reassembled PDU in frame: xxxx]という追加情報
--IPレイヤで分割されたパケットを束ねるリンク
#ref(PacketDetailPart_AdditionalInformationAndLinks2.png,...
-Wiresharkは、
--ノードが同一TCPコネクション上で初めのパケットの送信(・...
--TCP のPushフラグ 付きのパケットを送信(・受信)するまで...
---Pushフラグ(TCPフラグ)は、TCPの受信バッファのデータを...
---その他のTCPフラグについては、「[[TCPセグメント詳細情報...
--一連のパケット に、[TCP segment of a reassembled PDU]追...
---これは、TCPストリームへの1回の書き込み(読み込み)に...
---TCPストリームについては「[[TCPストリームで上位プロトコ...
-以下は、Pushフラグ付きのSMBの「Write AndX Request」コマ...
「Write AndX Request」コマンドのパケットを確認すると、分...
#ref(PacketDetailPart_AdditionalInformationAndLinks3.png,...
-また、トランスポート層のプロトコル([[TCP, UDP]])より上...
DNS 、HTTPなどのプロトコルでも、それぞれのプロトコル パー...
--例えば、DNSクエリ(パケット)を参照すると、このDNSクエ...
#ref(PacketDetailPart_AdditionalInformationAndLinksDNS.pn...
--また、以前のバージョンでは、パケット データ部から読み取...
Version0.99.7のプロトコル パーサからパケット詳細部の[Line...
テキストとして出力されるようになった(ただしASCII以外の文...
#ref(PacketDetailPart_AdditionalInformationAndLinksHTTP.p...
***パケット データ部 [#r7189225]
-[パケット データ部]では、[[[パケット一覧部>#a7233181]]]...
-以下は、HTTPリクエスト(GETメソッド)のパケットで左から...
-ただし、ASCII 以外の文字コード(Shift JIS、UTF-8)のエン...
#ref(PacketDataPart.png,left,nowrap,パケット データ部)
***ステータス バー [#i92ea5a5]
画面の最下部の[ステータス バー]には、
#ref(StatusBar.png,left,nowrap,ステータス バー)
-現在のプログラムの状態、
-パケット
--取得したパケット(Packets)
---現在、開いているファイル中のPacketの数
--表示中のパケット(Displayed)
---フィルタなどをかけた場合、表示されているPacketの数
--マークされたパケット(Marked)
---マーク したPacketの数
---[[[パケット一覧部>#a7233181]]]でパケットを選択した状態...
---その他にも、[Mark All Packet]、[UnMark All Packet]、[F...
などの情報が表示される。
**ディスプレイ フィルタ [#n95722ad]
-Wiresharkでは基本的に、キャプチャしたパケットにフィルタ...
-最も簡単な方法は、[フィルタ ツール バー]にプロトコル名を...
-以下、「smb」と入力して[Enter]キーを押しディスプレイ フ...
#ref(DisplayToolbar.png,left,nowrap,[フィルタ ツール バー])
以下、フィルタ式の作成方法を示す。
***フィルタの例から選択する [#r976cb12]
[フィルタ ツール バー]の脇にある[Filter]ボタンを押せば、[...
-[Filter]リスト ボックスからフィルタの例を選択し[OK]ボタ...
[フィルタ ツール バー]に対応するフィルタ式が設定される。
-[Apply]ボタンを押すと、現在のフィルタ式を適用する。
-また、[New]ボタンを押して新しいフィルタの例を作成するこ...
#ref(DisplayFilterDialog2.png,left,nowrap,[Display Filter...
***フィルタ式を手入力する [#k619c72f]
以下の基本的な点を押さえていれば、手入力でフィルタ式を作...
-基本的なフィルタ(アドレス、ポート、プロトコルを試用した...
--MACアドレス:「eth.addr==xx-xx-xx-xx-xx-xx」と記入する。
--IPアドレス :「ip.addr==xxx.xxx.xxx.xxx」と記入する。
--ポート番号 :「tcp.port==xx」、「udp.port==xx」と記入す...
--プロトコル :プロトコル名を小文字で記入する。
-演算子
--上記の例では、「=」演算子のみを使用しているが、他にも...
--以下、演算子の表を示す(演算子には、C言語風の演算子、Pe...
--ディスプレイ フィルタの演算子
|#|区分|意味|C言語風|Perl風|h
|1|>|>|>|比較演算子|
|1-1||等しい|==|eq|
|1-2||等しくない|!=|ne|
|1-3||より大きい|>|gt|
|1-4||より小さい|<|lt|
|1-5||以上|>=|ge|
|1-6||以下|<=|le|
|2|>|>|>|論理演算子|
|2-1||論理和||||or|
|2-2||論理積|&&|and|
|2-3||排他的論理和|^^|xor|
|2-4||否定|!|not|
-等しくない
--eth.addr、ip.addr、tcp.port、udp.portのフィルタ式を「!=...
--この場合、「==」で評価した式をカッコ「()」で囲み、そ...
***高度なフィルタ式の作成方法 [#p115baf5]
-これ以上に、高度なフィルタ式を作成する必要がある場合は、
--[フィルタ ツール バー]の脇か、
--[Display Filter]ダイアログ ボックス中にある
>[Expression]ボタンを押して表示される、[Filter Expression...
-ここでは、フィルタ式に使用できる
--フィールド・演算子・値を、
--選択・入力する
>ことでフィルタ式を作成できる。
#ref(FilterExpressionDialog.png,left,nowrap,[Filter Expre...
-以下は、HTTPのURLのホスト名でフィルタをかける式の作成例...
>
+[Field name]リスト ボックスから「http -> http.host」を選...
+[Relation]リスト ボックスから任意の演算子を選択し、
+[Value]テキスト ボックスでホスト名を入力する。
#ref(FilterExpressionDialogHostNameInHttp1.png,left,nowra...
***パケット詳細部で選択中のデータを元にフィルタする [#wf5...
-[パケット詳細部]でフィルタに関するデータを選択し、
--メニューから、[Analyze] ⇒ [Apply as Filters] ⇒ 「フィル...
--もしくは、右クリックして表示されたメニューから[Apply as...
>することでフィルタ式を作成することができる。
-以下は、追加情報に[This frame is a (suspected) fast retr...
--[パケット詳細部]で[This frame is a (suspected) fast ret...
--表示されたメニューから[Apply as Filters] ⇒ [Selected]を...
>フィルタをかけた所である。
#ref(FilterExpressionDialogHostNameInHttp2.png,left,nowra...
-[フィルタ ツール バー]にフィルタ式
tcp.analysis.fast_retransmission
>が入力され、パケットがフィルタされたことを確認できる。
*マクロな問題検出についての具体例 [#c73f05e7]
マクロな問題の検出についての具体例とWiresharkの操作方法に...
**帯域の不足、スイッチング能力、ワイヤ スピード [#b4906e76]
-パケットをキャプチャし、メニューから[Statics] ⇒ [Summary...
以下のような[Summary]ダイアログが表示され、
#ref(SummaryDialog.png,left,nowrap,[Summary]ダイアログ)
-通信の概要を把握できる。
--単位時間辺りの平均転送データ量
--単位時間辺りの平均パケット数
--平均パケット サイズ
-これらの情報が確認できれば、ネットワークのパフォーマンス...
--帯域幅の不足であるか、
--スイッチング能力の不足であるか、
>推測できる。
**通信の一覧・統計 [#u2326175]
***プロトコル階層毎の通信の一覧・統計 [#n632121e]
-パケットをキャプチャし、メニューから[Statics] ⇒ [Protoco...
[Protocol Hierarchy Statics]ダイアログが表示され、通信の...
#ref(ProtocolHierarchyStaticsDialog.png,left,nowrap,[Prot...
-例えば「UDPはTCPに勝つ」という構図がある。
--HTTPやTelnetなどのTCP通信と、IP電話やテレビ会議などのUD...
UDPの方が軽量でトラフィックの影響を受け難いため、見かけ上...
--必要に応じてルータやL3スイッチに実装されるQoS(ネットワ...
優先順位・帯域制御などの機能([[サービス品質制御機能>#w8b...
--また、管理者の知らないところで利用禁止されているP2Pソフ...
プロトコル別一覧から検知することもできる(ただし、対応す...
***時間軸を考慮した通信概要の把握 [#md0dea90]
-パケットをキャプチャし、メニューから[Statics] ⇒ [IO Grap...
-[IO Graphs]ダイアログでは、次のようなグラフを表示できる。
--[Graphs]グループのコントロールでは、フィルタ式を使用し...
[X Axis]・[Y Axis]グループでは、X・Y軸の単位・スケールの...
--X軸(グラフの横軸)は時間を表す。Y軸(縦軸)はデータ量...
-以下の図は、
--HTTPプロトコルによるWebアクセス、SMBプロトコルによるフ...
--IPプロトコル、HTTPプロトコル、SMBプロトコルのパケット数を
>グラフにしたものである。
#ref(IOGraphsDialog1.png,left,nowrap,[IO Graphs]ダイアログ)
-SMBの1つ目の山は、ファイル サーバの共有フォルダをエクス...
--この場合は、1つのSMBコマンドが1つのIPパケットに収まって...
IP(黒折れ線グラフ)とSMB(赤棒グラフ)がほぼ等しいパケッ...
--しかし、ファイル転送の際の通信状態を示しているSMBの2つ...
---2つのSMBコマンドが複数のIPパケットに分割されるため、~
---IP(黒折れ線グラフ)とSMB(赤棒グラフ)に大きな開きが
>>見られる。
-また、このツールはグラフ毎にスケールが変更できないため、...
--例えば、前述のグラフではHTTPのパケット数が少なくSMBのパ...
--この場合、スケールを変更することでHTTPプロトコルのグラ...
下記は、[Y Axis]グループの[Scale]コンボ ボックスを「AUTO...
--これにより、HTTPプロトコルのグラフが際立ち詳細を確認で...
#ref(IOGraphsDialog2.png,left,nowrap,[IO Graphs]ダイアロ...
***ノード毎の通信の一覧・統計 [#b60bed5c]
-パケットをキャプチャし、メニューから[Statics] ⇒
--[Endpoints]を選択すると[Endpoints]ダイアログが表示され...
--[Endpoint List] ⇒ [任意のプロトコル]を選択した場合は、...
#ref(EndpointsDialog.png,left,nowrap,[Endpoints]ダイアログ)
> ※ Txは送信、Rxは受信を表す。
-[Endpoints]ダイアログの[IPv4]タブでは、
--CPUに負荷をかけるブロードキャストなどのトラフィック
--特定のサーバへの負荷集中
--ノートPCの不正な持ち込み
--PCが放つ異常なトラフィック(不正なP2Pソフトの使用、ウィ...
>などの問題を検知できる。
-また、[[[TCP]・[UDP]>TCP, UDP]]タブではポートの情報も確...
***2つのノードの、会話毎の通信の一覧・統計 [#c47d0a27]
-パケットをキャプチャし、メニューから[Statics] ⇒ [Convers...
[Conversations]ダイアログが表示され、2つのノードの、会話...
#ref(ConversationsDialog.png,left,nowrap,[Conversations]...
>※ Txは送信、Rxは受信を表す。
-[Conversations]ダイアログの[IPv4]タブでは、~
前述の[Endpoints]ダイアログの「ノード毎の通信の一覧・統計...
さらに細かく「2つのノードの、会話毎の通信の一覧・統計」と...
-また、[[[TCP]・[UDP]>TCP, UDP]]タブではポートの情報も確...
*ミクロな問題検出についての具体例 [#g292fa3a]
ミクロな問題の検出についての具体例とWiresharkの操作方法に...
**第2層以下の問題の検出 [#l2ad9adf]
-第2層以下の問題としては、
--第1層の物理的な問題と、
--第2層のイーサネット(主にNICの設定や、MACアドレスのアド...
>の問題が考えられる。
-これらの問題はパケット キャプチャ ツールを使用して、
--NICドライバまでフレーム・パケットが届いているか。
--NICの設定やARPによるアドレス解決は正しいか。
>などを確認することで問題を切り分ける。
-例えば重複したIPアドレスが設定されているノードを下記の方...
--システムの起動時・IPアドレス変更時などに自ノードのIPア...
--これをGratuitous ARPと呼ぶ。Gratuitous ARPに対するレス...
--以下に、Gratuitous ARPにより重複したIPアドレスを検出し...
#ref(GratuitousARP.png,left,nowrap,Gratuitous ARP)
-以下、Gratuitous ARPのシーケンスを説明する。
--No13:自ノードのIPアドレスを持つGratuitous ARPがブロー...
--No14:同一のIPアドレスを持つ他ノードはGratuitous ARPに...
--No15:
>この他ノードは、最初のGratuitous ARPのブロードキャストで...
ARPテーブルを元に戻すため、再びGratuitous ARPをブロードキ...
-同一のIPアドレスを持つノードは、上記のMACアドレスから確...
**第3層(IP)の問題の検出 [#n7254495]
-第3層の問題としては、主に
--ルーティング関連の設定(IPアドレス、サブネット マスク、...
--IPパケットのフラグメントに関する設定
>のミスが考えられる。
-ルーティング テーブルを持つノードのNICをパケット キャプ...
※ 簡単な問題であれば、[[ping>pingコマンド]]、[[tracert>tr...
***IPの問題点として確認できること [#w8b3c702]
-フラグメント化
--通常のイーサネットでは、MTU(IPパケットの最大サイズ)は...
>物理(インターフェイス)規格毎の最大MTUサイズ
|#|規格|規格の説明|最大MTUサイズ|h
|1|Ethernet|CSMA/CD方式のLAN規格|1,500バイト|
|2|FDDI|トークンリング方式のLAN規格(利用は終焉しつつある...
|3|ATM|広域ATMネットワーク、速度保証を謳ったキャリアサー...
|4|X.25|公衆回線網用|1,600バイト|
|5|フレームリレー|光ファイバなど|1,600バイト|
--フラグメント化に関するビットには以下のビットがあり、フ...
--これらの情報はIPヘッダに書きこまれているので、[パケット...
>IPパケットのフラグメント化に関するビット
|#|フラグ|意味|h
|1|Reserved bit|予約されているビット(現状は利用されてい...
|2|Don’t fragment(DFビット)|フラグメント化を禁止するビ...
|3|More fragment(MFビット)|Don’t fragmentビットがオフの...
#ref(PacketDataPartOfFragment.png,left,nowrap,フラグメン...
-サービス品質制御
--サービス品質制御は、ルータやL3スイッチに実装されるQos(...
--L2スイッチもVLANで利用できる、タグを使用したサービス品...
--ルータがパケットの優先度を決める方法には次の2つがある。
---送信元や送信先のIPアドレス、使用プロトコル、ポート番号...
---IPパケットの優先度を明示的にIPパケット内のフィールド(...
--TOSフィールド・DSCPフィールドは、パケット詳細部で確認で...
このフィールドの値の意味や、サービス品質制御に関する詳細...
#ref(PacketDataPartOfQosControl.png,left,nowrap,サービス...
-プロトコル番号
--プロトコル フィールドのプロトコル番号は、対象のIPパケッ...
--イーサネット上では、殆どのパケットが[[6番(TCP)、17番...
--プロトコル番号は、IANAにより規定されている。
--プロトコル番号に関する詳細は下記のWebページを参照のこと...
iana.org > Assigned Internet Protocol Numbers~
http://www.iana.org/assignments/protocol-numbers/protocol...
#ref(PacketDataPartOfProtocolNo.png,left,nowrap,プロトコ...
***IPのトラブルシュート事例 [#b125355c]
-VPN間で通信できなくなる問題
--現象
---VPN間でSMB通信をすると通信できなくなった。
---ファイル サーバのNICをパケット キャプチャしたところ、...
---VPNルータのNICをパケット キャプチャしたところ、VPNルー...
#ref(TroubleshootOfVPN1.png,left,nowrap,VPN間でSMB通信を...
--分析
---そこで、VPNルータA の設定を確認した所、MTUサイズがイー...
---イーサネットではMTUサイズ:1500バイト、VPNではMTUサイ...
---通常は、DFビットが立っておりMTUサイズが異なることで通...
ルータは[[ICMP]]メッセージ(type3 code4 Next-Hop xxxx byt...
クライアントPCがこれより小さいMTUサイズで通信をリトライす...
|#|表示|説明|h
|1|Type3|Destination Unreachable(到達不能)|
|2|Code4|Fragmentation Needed and Don't Fragment was Set|
|3|xxxx byte|現在のMTU値より小さい値でリトライを要求する。|
#ref(TroubleshootOfVPN2.png,left,nowrap,SMBのIPパケットに...
--結果
---しかし、ルータのF/W機能で[[ICMP]]メッセージを破棄する...
送信元にこの[[ICMP]]メッセージが届かなくなり、通信できな...
この現象を[Path MTU Discovery Black Hole]と言う。
---VPNルータAの設定を確認した所、[[ICMP]]メッセージをルー...
---このようなことがあるため、pingコマンドはDFフラグを立て...
-サブネットマスクの設定ミス
--現象
---ルータへの負荷が突然高くなった。
---クライアントPCのNICをパケットキャプチャした所、~
ARPパケットから同一サブネットのIPアドレスへの通信が、~
デフォルト ゲートウェイ(ルータ)に送信されていることが確...
#ref(TroubleshootOfSubnet.png,left,nowrap,イーサネット内...
--分析
---そこで、クライアントの設定を確認した所、DHCPから配信さ...
1ビット余分に(255.255.255.0 → 255.255.255.128)設定され...
---サブネットマスク
|#|設定値|10進数表記|2進数表記|h
|1|サブネットマスク(正)|255.255.255.0|11111111.11111111...
|2|サブネットマスク(誤)|255.255.255.128|11111111.111111...
|3|クライアントIP|xxx.xxx.xxx.56|00001010.11010011.001000...
|4|サーバIP|xxx.xxx.xxx.134|00001010.11010011.00100001.10...
--結果~
これにより上記表の項番4の、サーバのIPアドレスがクライア...
クライアントPCはサーバに対してパケットを送信する際、デフ...
**第4層(TCP)の問題の検出 [#u008abfc]
-pingコマンドは通るが、実際には通信できないなどの問題が発...
--初めに[[netstatコマンド]]を使用して~
リスニング ポート、プログラム、F/Wのパケット フィルタリン...
その他TCP関連のパラメタ設定ミスがないかを確認する。
--これでも問題が解決しない場合は、TCPのパケット内のデータ...
-また、TCPではコネクション、ウィンドウ・フロー制御で問題...
これらに問題がある場合は、通信のオーバヘッドが大きくなり...
このため、TCPの場合はこの点を重点的に分析する。
-TCPのプロトコル スタックの実装はベンダ、装置、OSなどによ...
このため、この進化に取り残された装置・OSなどがネットワー...
--例えば、任意の装置・OSでRFC1323に記述されているウィンド...
--TCPのプロトコル スタックでは、このような実装の非互換に...
今後の技術動向や新しくリリースされた装置・OSの実装にも注...
以下、TCPにおける問題の分析方法を説明する。
***TCPの問題点として確認できること [#hcd1afbd]
-シーケンス番号・ACK番号
--シーケンス番号・ACK番号を確認することで、TCPの通信シー...
シーケンス番号は、送信データのバイト数増加し、ACK番号は受...
(シーケンス番号・ACK番号は、送信側・受信側で別々に管理さ...
--TCPの通信シーケンスを分析する場合は、メニューから[Stati...
[Flow Graph]ダイアログで[TCP flow]オプション ボタンをチェ...
#ref(FlowGraphDialog.png,left,nowrap,[Flow Graph]ダイアロ...
--すると、TCPの通信シーケンスを分析する[Graph Analysis]ダ...
ここから、TCPの通信シーケンスの詳細を分析できる。
#ref(GraphAnalysisDialog.png,left,nowrap,[Graph Analysis]...
--ただし、この分析方法では分析対象データが膨大になるので...
TCPフラグ、TCPオプション、Wiresharkの追加情報などを使用し...
-TCPセグメント詳細情報(TCPフラグ)から異常を確認する
--TCPセグメント詳細情報にあるTCPフラグを確認する。~
TCPフラグを下記の表に示す。TCPフラグはビットマスクが可能...
>TCPのフラグ
|#|区分|フラグ|意味|フラグの位置|16進表記|h
|1|>|>|>|>|一般的なパケット|
|1-1||SYN|TCPコネクション接続時にセットされる。|000000000...
|1-2||FIN|TCPコネクション切断時にセットされる。|000000000...
|1-3||ACK|肯定応答。接続開始時~終了時まですべてのパケッ...
|1-4||PSH|バッファ内容をアプリに渡す。|00000000001000|0x08|
|2|>|>|>|>|特殊なパケット|
|2-1||RST|問題発生時、緊急に接続を切断する。|000000000001...
|2-2||URG|緊急に処理するパケットを示す。|00000000100000|0...
|2-3||ECE|CEパケット の受信を送信側に通知する。|000000010...
|2-4||CWR|輻輳ウィンドウの縮小を相手に通知する。輻輳情報...
--TCPフラグのECE、CWRを分析する場合、IPヘッダのECTビット...
---ECTビット:Transport層プロトコルがECNに対応していること...
---CEビット:CEパケットにより、輻輳が起きていることを示す...
#ref(PacketDetailPartIP.png,left,nowrap,パケット詳細部(I...
--TCPフラグは[パケット詳細部]から確認でき、Wiresharkのフ...
コネクションの接続・切断、コネクションの拒否や輻輳 など問...
#ref(PacketDetailPartTCP.png,left,nowrap,パケット詳細部(...
--輻輳の発生を回避する技術や、輻輳状態から速やかに回復さ...
輻輳の状態が悪化し、通信効率が非常に低くなる状態を輻輳崩...
---特にTCPでは輻輳によりパケット遅延が発生した場合、~
再送処理を自動で実行するため更に輻輳が悪化し輻輳崩壊へ至...
---このためTCPでは様々な輻輳回避アルゴリズムが考えられて...
その核となっているのが、「スロースタート」と「輻輳回避」...
● スロースタート : 通信開始時は通信速度を遅くして、その後...
● 輻輳回避 : ネットワークが混雑している時は速度を落す。
--TCPフラグのフィルタ式を入力する場合、[Filter Expression...
---TCPフラグの[Field name]として、以下のものを利用できる。
>TCPのフラグ(フィルタ式)
|#|フラグ|フィルタ式(文字)|フィルタ式(ビット)|備考|h
|1|SYN|tcp.flags.syn == 1|tcp.flags == 0x02|接続切断の検...
|2|FIN|tcp.flags.fin == 1|tcp.flags == 0x01|~|
|3|ACK|tcp.flags.ack == 1|tcp.flags == 0x10|-|
|4|PSH|tcp.flags.push == 1|tcp.flags == 0x08|-|
|5|RST|tcp.flags.reset == 1|tcp.flags == 0x04|問題の検出...
|6|URG|tcp.flags.urg == 1|tcp.flags == 0x20|緊急データの...
|7|ECE|tcp.flags.ecn == 1|tcp.flags == 0x40|輻輳の検出に...
|8|CWR|tcp.flags.cwr == 1|tcp.flags == 0x80|~|
---[SYN/ACK]、[PSH/ACK]などを含まない、[ACK]のみを抽出す...
--以下は、RSTフラグが立っているパケットをフィルタした所で...
#ref(PacketDetailPartRST.png,left,nowrap,パケット詳細部(...
-Wiresharkが自動生成するパケット ステータスから異常を確認...
--Wiresharkは、以下の問題を分析して、TCPのパケットに追加...
---TCPのコネクション
---ウィンドウ・フロー制御~
● ウィンドウ サイズの状態~
● パケット遅延~
● ロストしたパケット~
● 再送要求のパケット~
● 再送されたパケット~
--このTCPの追加情報を下記の表に示す。~
これを元にWiresharkのフィルタ機能を使用して、問題となって...
---TCPの追加情報
|#|区分|TCPの追加情報|説明|h
|1|>|>|ウィンドウサイズの異常|
|1-1||TCP Window Full|ウィンドウサイズを0にするパケットに...
|1-2||TCP Zero Window|ウィンドウサイズが0になったことを示...
|1-3||TCP Zero Window Violation|ウィンドウサイズが0で送信...
|1-4||TCP Zero Window Probe|[TCP Zero Window]の受信後に送...
|1-5||TCP Zero Window Probe Ack|[TCP Zero Window Probe]に...
|1-6||TCP Window Update|ウィンドウサイズが拡張されたこと...
|2|>|>|パケットの消失と再送|
|2-1||TCP Previous segment lost|シーケンス番号が不正であ...
|2-2||TCP Dup ACK|同じACK番号が入った再送要求のACKパケッ...
|2-3||TCP Restansmission|再送要求で再送されたパケットに付...
|2-4||TCP Fast Restansmission|再送要求で高速再送 されたパ...
|3|>|>|キープアライブ|
|3-1||TCP Keep - Alive|直前のパケットと同じシーケンス番号...
|3-2||TCP Keep - Alive ACK|TCPキープアライブ パケットへの...
|4|>|>|その他|
|4-1||TCP Out – Of - Order|シーケンス番号が不正である(期...
|4-2||TCP ACKed lost segment|ACKに対するパケットが見つか...
--TCP追加情報のフィルタ式を入力する場合、[Filter Expressi...
---TCP追加情報の[Field name]として、以下のものを利用でき...
>TCPの追加情報(フィルタ式)
|#|追加情報|フィルタ式|h
|1|TCP Window Full|tcp.analysis.window_full|
|2|TCP Zero Window|tcp.analysis.zero_window|
|3|TCP Zero Window Violation|tcp.analysis.zero_window|
|4|TCP Zero Window Probe|tcp.analysis.zero_window_probe|
|5|TCP Zero Window Probe Ack|tcp.analysis.zero_window_pro...
|6|TCP Window Update|tcp.analysis.window_update|
|7|TCP Previous segment lost|tcp.analysis.lost_ segment|
|8|TCP Dup ACK|tcp.analysis.duplicate_ack|
|9|TCP Restansmission|tcp.analysis.restansmission|
|10|TCP Fast Restansmission|tcp.analysis.fast_restansmiss...
---以下は、[TCP Dup ACK]のパケットをフィルタした所である。
#ref(PacketDetailPartTCPDupACK.png,left,nowrap,パケット詳...
-TCPストリームで上位プロトコルを確認する
--TCPストリームを確認する場合は、パケット一覧部で1つのTC...
メニューの[Analyze] ⇒ [Follow TCP Stream]を選択する。
--すると、TCPコネクションのオープンからクローズまでの1つ...
フィルタ式によりフィルタされTCPストリームのデータを確認で...
--これにより、上位プロトコルのクライアント - サーバ間のや...
TCPストリームはTCPの上位プロトコルのやり取りを分析する際...
--TCPストリームでは、送信データと受信データが赤色・青色で...
---TCPストリームはIPレイヤでパケットがどのように分割され...
---また、通常のプロトコルではありえないが、仮に双方のノー...
TCPストリームに書き込みを行った場合でも、上り・下りのスト...
(TCPが通信の順番を制御するため、上り・下りのデータがパケ...
---TCPストリームには、このような特徴があるため、セション...
--例えば、パケット一覧部でHTTPプロトコルのパケットを選択...
1コネクションで処理されたHTTPのリクエストとレスポンスのペ...
---これに対し、HTTP1.1プロトコルのHTTP Keep-Aliveが有効に...
[Analyze] ⇒ [Follow TCP Stream]を選択すれば、1コネクショ...
---HTTP1.1のHTTP Keep-Aliveでは、性能向上のため、1回のTCP...
---このため、TCPストリーム中に複数の1回のリクエスト ~ レ...
#ref(TCPStreamOfHttp.png,left,nowrap,HTTPのTCPストリーム...
--また、SMBプロトコル(ここではファイル共有サービス)のキ...
[Follow TCP Stream]を選択すれば、SMBプロトコルのTCPストリ...
---同様に、送信データと受信データが赤色・青色で分類されて...
しかし、SMBプロトコルのコマンドはHTTPなどと異なり複雑で、...
#ref(TCPStreamOfSMB.png,left,nowrap,SMBのTCPストリーム)
---SMBなどのテキストで分析し難いプロトコルの詳細は、SMBの...
が~
出力するパケット詳細部の情報を元に、1パケット毎、SMBコマ...
#ref(PacketDetailPartSMB.png,left,nowrap,パケット詳細部(...
-エラー・警告・注意パケットの抽出
-- メニューの[Analyze] ⇒ [Expert Info]を選択することで[Ex...
TCPのコネクション、ウィンドウ・フロー制御(ウィンドウ サ...
などのエラー・警告・注意パケットの情報を抽出できる。
>[Expert Infos]ダイアログにおけるパケットの分類
||分類|分類|説明|h
|1|Error|エラー|フィールドと実際のパケットの長さが違う.et...
|2|Warn|警告|TCPのパケット欠落、高速再送の発生.etcを警...
|3|Note|注意|再送要求、再送の発生、ウィンドウサイズの問題...
|4|Chat|会話|HTTPのリクエスト レスポンス、TCPのコネクショ...
#ref(ExpertInfosDialog.png,left,nowrap,[Expert Infos]ダイ...
--また、メニューの[Analyze] ⇒ [Expert Info Composite]を選...
統計情報も含めたトラブルシューティングに役立つエラー・警...
([Details]タブには、[Expert Infos]ダイアログの内容が表示...
#ref(ExpertInfosCompositeDialog.png,left,nowrap,[Expert I...
***TCPのトラブルシュート事例 [#re153737]
-コネクションの接続・切断回数を確認する
--パケット遅延が大きい環境などでは、HTTP Keep-Aliveが無効...
TCPコネクションの接続・切断回数が多くなり、オーバヘッドが...
---その他、SSLの利用時にHTTP Keep-Aliveが無効の場合、~
SSLコネクション確立のオーバヘッドが大きくなっている場合が...
--TCPコネクションの接続を示す3ウェイ ハンドシェイク部分を...
---以下のフィルタ式を適用するか、
[SYNパケット] or [SYN / ACKパケット] or [ACKパケット...
--------------------------------------------------------...
tcp.flags == 0x02 || tcp.flags == 0x12 || ( tcp.flags ==...
└───────┘ └───────┘ └─────────────────┘
SYN SYN/ACK ACKか...
※ [SYN/ACK]、[PSH/ACK]などを含まない、[ACK]のみを抽出する...
#ref(PacketDetailPart3WayHandshaking.png,left,nowrap,3ウ...
---[Expert Info Composite]ダイアログの[Chats]・[Details]...
-予期せぬ接続の切断、輻輳などを確認する
--予期せぬ接続の切断を確認する場合は、RSTパケットを抜き出...
tcp.flags.reset == 1
--例えば、リスニング ポートが重複していた場合など、コネク...
#ref(TroubleshootOfRST.png,left,nowrap,[RST]フラグがある...
**第4層(UDP)の問題の検出 [#kb405e75]
-[[pingコマンド]]は通るが、通信できないなどの問題が発生し...
--初めに[[netstatコマンド]]を使用して~
リスニング ポート、プログラム、F/Wのパケット フィルタリン...
などのパラメタ設定ミスがないかを確認する。
--これでも問題が解決しない場合は、UDPのパケット内のデータ...
-UDPの問題は、コネクション、ウィンドウ・フロー制御など、...
(これは必要であればアプリケーション側で実装される)。
--このため、UDPプロトコルのデータ(UDPヘッダ)自体に情報...
--従って、UDPパケットの解析は、パケット キャプチャ ツール...
単純に思えるが、個々のパケット単位での照合は難しいので注...
**7-5層(HTTP・FTP・SMTP・SMB)の問題の検出 [#x13c00c9]
***セッション層以上のプロトコルの問題点として確認できるこ...
-そのプロトコルのTCPストリームを確認し、
-プロトコルの動作・仕様、クライアント・サーバ プログラム...
***セッション層以上のプロトコルのトラブルシュート事例 [#f...
-トラブルシュート事例(HTTP, FTP)
|#|プロトコル|現象|>|>|原因と、その特定方法|h
|1|>|>|>|>|HTTP|
|1-1||>|>|>|HTTPの画面表示の遅延が大きい|
|~|~|~||原因|HTTPキープアライブが無効になっていたため、SS...
|~|~|~||特定方法|HTTPクライアントのNICをパケット キャプチ...
|1-2||>|>|>|Webアプリケーション サーバでエラーが発生する|
|~|~|~||原因|IEのキャッシュ制御の仕様がファジー(不明確)...
|~|~|~||特定方法|HTTPクライアントのNICをパケット キャプチ...
|2|>|>|>|>|FTP|
|2-1||>|>|>|FTPサーバからダウンロードできない(アクティブ...
|~|~|~||原因|アクティブモードのFTPでは、FTPサーバからFTP...
|~|~|~||特定方法|FTPサーバのNICをパケット キャプチャし、...
|2-2||>|>|>|FTPサーバからダウンロードできない(パッシブモ...
|~|~|~||原因|パッシブモードのFTPでは、FTPクライアントから...
|~|~|~||特定方法|FTPクライアントのNICをパケット キャプチ...
|2-3||>|>|>|FTPでファイルが見つからないエラー|
|~|~|~||原因|FTPサーバが本来、相対パスでファイル一覧を返...
|~|~|~||特定方法|FTPクライアントのNICをパケット キャプチ...
-トラブルシュート事例(SMB, その他)
|#|プロトコル|現象|>|>|原因と、その特定方法|h
|3|>|>|>|>|SMB|
|3-1||>|>|>|Excelファイルのオープンが遅い|
|~|~|~||原因|ネットワークにパケット遅延があり、更にExcel...
|~|~|~||特定方法|ネットワーク経由のファイル オープン時、E...
|3-2||>|>|>|特定のアプリケーションで、SMB経由の保存ができ...
|~|~|~||原因|UNIX・FAT優先モードになっており、NTFS用のア...
|~|~|~||特定方法|ファイル サーバのNICをパケット キャプチ...
|3-3||>|>|>|SMBで認証できない(WindowsCE + NAS)|
|~|~|~||原因|クライアント・サーバ プログラムの作り込みの...
|~|~|~||特定方法|ファイル サーバのNICをパケット キャプチ...
|4|>|>|>|>|その他|
|4-1||>|>|>|認証でエラー|
|~|~|~||原因|パスワードの入力・設定ミス|
|~|~|~||特定方法|クライアントのNICをパケット キャプチャし...
|4-2||>|>|>|FTPサーバのレスポンス遅延|
|~|~|~||原因|FTPサーバがログ出力のためDNSを逆引き(IPアド...
|~|~|~||特定方法|FTPサーバのNICをパケット キャプチャし、...
-以下は、HTTPとPOP3の認証エラーのトラブルシュート時のパケ...
#ref(TCPStreamOfHttpAuth.png,left,nowrap,HTTPのプロキシ認...
#ref(TCPStreamOfPOP3.png,left,nowrap,POP3の認証のTCPスト...
*HTTPのキャプチャ [#jacc0de2]
-Wiresharkは、OSI参照モデルで言う所の第4・5層のキャプチャ...
-従って、キャプチャした情報は、フレームやパケット単位で見...
-HTTPのリクエスト・レスポンス(OSI参照モデルで言う所の第6...
のコンテンツについては、[Follow TCP Stream]で確認すること...
-参考
--[[TCPストリームで上位プロトコルを確認する>#hcd1afbd]]
--Wiresharkで特定の通信セッションだけを抽出して表示する ...
http://www.atmarkit.co.jp/fwin2k/win2ktips/1048wsharkstre...
--[Follow TCP Stream]の結果、リクエスト・レスポンスの見た...
HTTP 100-continue などによりキレイに繋がらないことがあり...
---HTTP 100-continue - ..たれろぐ..~
http://d.hatena.ne.jp/naga_sawa/20101114/1289709797
---また、全角文字が「・」で表示され確認できません。
*参考 [#i3ac90b5]
**Wiresharkの使い方 [#l78c7369]
下記を参照下さい。
-ネットワーク入門サイト - Wiresharkの使い方~
http://beginners-network.com/wireshark.html
-Wiresharkで特定のプロトコルだけを表示させる - @IT~
http://www.atmarkit.co.jp/fwin2k/win2ktips/1050wsfiltprot...
-Wiresharkで特定の相手との通信だけを表示させる - @IT~
http://www.atmarkit.co.jp/fwin2k/win2ktips/1065wsfiltaddr...
-Wiresharkで特定の通信セッションだけを抽出して表示する -...
http://www.atmarkit.co.jp/fwin2k/win2ktips/1048wsharkstre...
**Wiresharkを使った通信監視 [#s5dbf454]
-さくらのナレッジ
--(前編)―基本的な使い方とパケット解析~
https://knowledge.sakura.ad.jp/6286/
--(後編)―コマンドラインベースでのパケットキャプチャ~
https://knowledge.sakura.ad.jp/6311/
**WinPcap [#nbe59c8a]
-WinPcapは、パケット キャプチャに関する機能を提供するソフ...
-以下のモジュールから構成される。
--システム非依存型の「wpcap.dll」
--ローレベル ライブラリ「Packet.dll」
--カーネル モードのNDIS中間ドライバ「npf.sys」
-Wiresharkでは、WinPcapを使用してパケット キャプチャを行...
**tshark [#xc70a425]
tsharkというCUI版も存在する様です。
----
Tags: [[:インフラストラクチャ]], [[:通信技術]], [[:障害対...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[監視・パケット解析編]]
--[[電文を確認する方法(パケット・キャプチャ)]]
* 目次 [#u9cf3965]
#contents
*概要 [#e89ee161]
-OSSソフトウェアLANアナライザであるWiresharkの操作方法を...
-元ネタが古く、wireshark-setup-0.99.7.exeを使用している(...
*Wiresharkの特徴 [#g325bafe]
**区分 [#tc00de21]
LANアナライザには、以下の区分がある。
#ref(ClassificationOfLanAnalyzer.png,left,nowrap,LANアナ...
**区分ごとの特徴 [#ifd638ff]
これらのLANアナライザには、それぞれ以下のような区分がある。
-LANアナライザの区分毎の特徴
|#|区分|>|特徴|h
|1|ハードウェア&br;LANアナライザ|長所|持ち運びが容易。下...
|~|~|短所|ソフトウェアLANアナライザと比べ、統計・レポート...
|~|~|価格|一般的に高価である。|
|2|商用ソフトウェア&br;LANアナライザ|長所|統計・レポート...
|~|~|短所|NICドライバでキャプチャ可能である必要があるので...
|~|~|価格|一般的に高価である。|
|3|OSSソフトウェアLANアナライザ|長所|プロトコル毎のパケッ...
|~|~|短所|NICドライバでキャプチャ可能である必要があるので...
|~|~|価格|無償で利用可能。|
-Wiresharkは、OSSソフトウェアLANアナライザ。~
下位レイヤの、ケーブル品質の調査、エラーフレームの測定な...
*インストール [#qf44684f]
**ダウンロード [#t657fcc8]
以下からWindows版のWiresharkのインストーラをダウンロード
-Wireshark: Download~
http://www.wireshark.org/download.html
**インストール [#fc55fd6f]
-デフォルト設定でインストールする。
-基本的にデフォルトのインストールで問題ない。
-以下、インストール オプションの注意点のみ抜粋して説明す...
--(a) のインストール オプションは、
---Wiresharkのインターフェイスのオプションで、~
前バーションのEtherealのインターフェイスで利用したい場合...
「Wireshark(legacy GTK1 user interface)」を選択する。
---ココでは「Wireshark(GTK2 user interface)」前提で説明...
--(b) のインストール オプションは、
---[[WinPcap>#nbe59c8a]]をインストールするかどうかのオプ...
---Wiresharkのパケット キャプチャに必須のソフトウェアであ...
---既にインストールされている場合を除いて必ずインストール...
--(c) のインストール オプションは、
---Administrator権限を持たないユーザでもパケット キャプチ...
---Wiresharkはプロミスキャスモードのパケット キャプチャが...
プロミスキャスモードを必要としない場合は、基本的にこのオ...
#ref(ClassificationOfLanAnalyzer.png,left,nowrap,Wireshar...
>インストールが完了したら、Wiresharkを起動する。
*キャプチャ準備 [#e9a0c3ed]
**[Capture Interfaces]ダイアログ [#v6da81eb]
キャプチャは、メニューの[Capture] → [Interface]で表示され...
監視対象のインターフェイス(NIC)の[Start]ボタンを押して...
#ref(CaptureInterfacesDialog.png,left,nowrap,[Capture Int...
**[Capture Option]ダイアログ [#t9def31f]
-キャプチャ オプションを設定したい場合は、[Option]ボタン...
-[Capture Option]ダイアログでは、キャプチャ オプションを...
#ref(CaptureOptionDialog.png,left,nowrap,[Capture Option]...
-初めに、[[(1)>#oa7f89b5]]を選択し、
-重要な設定として以下の[[(3)>#l79e4950]]/[[(6)>#w3d6d01d]...
-その他の設定は、必要に応じて設定・確認する。
-設定が完了したら、[Start]ボタンを押してトラフィックの監...
***設定項目 : (1) 監視対象のインターフェイス(NIC)を選択...
-初めに、(1)を選択し、監視対象のインターフェイス(NIC)を...
***設定項目 : (2) 監視に使用するメモリ量 [#laeee2a3]
-監視に使用するメモリ量を設定する。
-ファイル保存しない場合や、ファイル保存する場合にファイル...
性能低下を防ぐためのバッファリング処理に必要なメモリ量を...
***設定項目 : (3) プロミスキャス モード [#l79e4950]
-プロミスキャス モードのオン・オフを設定する。
-プロミスキャス モードで監視する場合、このチェック ボック...
***設定項目 : (4) パケットのデータ サイズ [#kb626bb4]
-キャプチャするパケットのデータ サイズを設定する。
-設定がオフの場合、全てのデータをキャプチャする。
-オンにしてサイズを設定した場合、指定サイズより後ろのデー...
***設定項目 : (5) キャプチャ フィルタ [#m4d02828]
-キャプチャするデータをフィルタする設定をする。
-Wiresharkでは、これをキャプチャ フィルタと呼ぶ。
-フィルタ設定については、後述の[[キャプチャ フィルタ設定...
***設定項目 : (6) リアルタイム更新 [#w3d6d01d]
-リアルタイムにパケット リストを更新するかどうかを設定す...
-リアルタイムにトラフィックを参照したい場合は、[Update li...
-また、パケット リストの自動スクロールの設定は、[Automati...
-また、[Hide capture info dialog] チェック ボックスがオフ...
[Capture Info]ダイアログが表示され、簡単な統計情報を確認...
***設定項目 : (7) ファイル保存 [#tfe6a0a2]
-キャプチャしたデータのファイル保存に関する設定をする。
-ファイル名、ローリング方法、保持するファイルの最大数など...
***設定項目 : (8) 名前解決 [#lcb90ac1]
-名前解決に関する設定をする。
-この設定を有効にすると監視処理の性能が悪化することがある...
名前解決は、キャプチャ後に実行することを推奨する。
--[Enable MAC name resolution]は、MAC → メーカの名前に名...
--[Enable network name resolution]は、IP → マシン名・FQDN...
--[Enable transport name resolution]は、ポート番号 → サー...
***設定項目 : (9) 監視の停止方法 [#qea75517]
-パケット キャプチャの停止方法を設定する。
-キャプチャしたパケット数、データ量、時間などで設定できる。
-ファイル保存をする場合、データ量による停止は無効になる。
**キャプチャ フィルタ [#u21fba22]
[Capture Option]ダイアログの[Capture Filter]テキスト ボッ...
(このキャプチャ フィルタ用のフィルタ式は、後述の[[ディス...
***フィルタの例から選択する [#l467c63e]
[Capture Option]ダイアログの[Capture Filter]ボタンを押せ...
[Capture Filter]ダイアログ ボックスが表示され、フィルタの...
#ref(CaptureFilterDialog.png,left,nowrap,[Capture Filter]...
-[Filter]リスト ボックスからフィルタの例を選択し[OK]ボタ...
[Capture Filter]テキスト ボックスに対応するフィルタ式が設...
-また、[New]ボタンを押して新しいフィルタの例を作成するこ...
***フィルタ式・演算子 [#c18e9cfb]
キャプチャ フィルタには、幾つかのフィルタ式、演算子が用意...
詳細は、下記のサイトを参照のこと。
-The Wireshark Wiki > CaptureFilters~
http://wiki.wireshark.org/CaptureFilters
-Wireshark USER's Guide > 4.8. Filtering while capturing~
http://www.wireshark.org/docs/wsug_html_chunked/ChCapCapt...
*キャプチャ開始 [#x4e94db2]
**[Capture form (インターフェイス名)]ダイアログ [#g0311...
-メニューの[Capture]を選択し[Interface]をクリックする。
-すると、[Capture Interface]ダイアログにインターフェイス...
トラフィックを監視するNICの[Option]ボタンを押して、[[前述...
[Hide capture info dialog] チェック ボックスのチェックを...
-これにより、以下の[Capture form (インターフェイス名)]...
-このダイアログの、 [Stop]ボタンが押されるか、停止設定値...
-以下の図は、NIC監視中の[Capture form (インターフェイス...
#ref(CaptureFormInterfaceDialog.png,left,nowrap,[Capture ...
-[Capture form (インターフェイス名)]ダイアログから、
--一般的なネットワークでは、殆どのトラフィックはTCP/IP(...
--次いでUDP(DHCPのブロードキャスト、DNSクエリ)などのプ...
--その他のプロトコルとしては、ARP(イーサネットで内のIP →...
***補足 [#uffa2042]
-現在のWindowsネットワークでは、NetBIOS (NBT)が使用され...
この画面ではNetBIOS(NetBEUI)プロトコルのパケットは確認...
-稀に、プリンタ サーバなどが発するNetBIOS(NetBEUI)のパ...
-NetBIOS (NBT)が使用されていることは、キャプチャ後、次...
>例えば、
--NetBIOSの名前解決であるNetBIOSネーム サービス(NBNB)
--ブラウジング機能などが使用するNetBIOSデータグラム サー...
--ファイル共有(SMB)などが使用するNetBIOSセッション サー...
>を確認できる。
*キャプチャ結果の確認 [#v6d690d1]
**GUIの確認 [#o1b483bc]
キャプチャを終了すると以下のような画面が表示される。ここ...
※ メニュー バーの[View]で対応する表示部位 のチェックを外...
#ref(MainScreen.png,left,nowrap,メイン画面)
以下、それぞれの表示部位に表示される表示項目について説明...
***メニュー バー [#jeebbfd1]
[メニュー バー]は、Wiresharkの各機能を呼び出す際に使用す...
***ツール バー [#tf0d7e50]
[ツール バー]には、良く使う機能がボタンとして用意されてい...
-~
#ref(Menu1.png,left,nowrap,メニュー1)
--ファイルの、オープン、セーブ、クローズ、リロードが可能。
--オープン・セーブの際は、対象パケットの入・出力範囲の選...
-~
#ref(Menu2.png,left,nowrap,メニュー2)
--パケット印刷ダイアログを表示し、データのプリンタ出力や
--テキストファイル出力ができる。出力範囲・出力部位の選択...
#ref(PacketPrintingDialog.png,left,nowrap,パケット印刷ダ...
-~
#ref(Menu3.png,left,nowrap,メニュー3)
--パケット検索ダイアログを表示し、条件に合ったパケットに...
--検索条件には、フィルタ式、16進値、文字列値などが指定...
#ref(PacketSearchDialog.png,left,nowrap,パケット検索ダイ...
-~
#ref(Menu4.png,left,nowrap,メニュー4)
>直前・直後に参照したパケットに移動する。
-~
#ref(Menu5.png,left,nowrap,メニュー5)
>表示されたダイアログにパケット ナンバーを指定することで...
-~
#ref(Menu6.png,left,nowrap,メニュー6)
>最初・最後のパケットに移動する。
***フィルタ ツール バー [#p84a8e94]
-[フィルタ ツール バー]は、キャプチャしたパケットをフィル...
-Wiresharkでは、これを[[ディスプレイ フィルタ>#n95722ad]]...
-[[ディスプレイ フィルタ>#n95722ad]]は、[[ディスプレイ フ...
#ref(FilterToolBar.png,left,nowrap,[フィルタ ツール バー])
-以下、[フィルタ ツール バー]のボタンについて説明する。
|#|ボタン|説明|h
|1|[Filter]ボタン|[Display Filter]ダイアログで、フィルタ...
|2|[▼]ドロップダウン リスト|過去のフィルタ式を選択できる。|
|3|[Expression]ボタン|[Filter Expression]ダイアログで、フ...
|4|[Clear]ボタン|フィルタ式をクリアする。|
|5|[Apply]ボタン|フィルタ式を適用する。|
#ref(DisplayFilterDialog1.png,left,nowrap,[Display Filter...
[Display Filter]ダイアログについては、「[[フィルタの例か...
#ref(FilterExpressionDialog.png,left,nowrap,[Filter Expre...
[Filter Expression]ダイアログについては、「[[高度なフィル...
***パケット一覧部 [#a7233181]
-[パケット一覧部]には、キャプチャしたパケットの概要がレコ...
-1行に付き1パケット(フレーム)が表示され、簡単な説明が表...
#ref(PacketListPart.png,left,nowrap,パケット一覧部)
-以下、レコードのカラムについて説明する。
|#|項目|説明|h
|1|No|キャプチャしたパケット番号(パケット番号はフィルタ...
|2|Time|キャプチャした時間表示&br;メニューの[Time Display...
|3|Source|送信元のMACアドレス、IPアドレス、ホスト名など|
|4|Destination|送信先のMACアドレス、IPアドレス、ホスト名...
|5|Protocol|最上位層のプロトコル(プロトコル パーサで解釈...
|6|Info|各プロトコルの簡易情報&br;概要の把握には役に立つ...
-上記のレコードは、ファイル共有(SMB)機能で、
--ファイルを送信する「Write AndX Request」コマンドと、
--送信ファイルのデータ部が分割されたTCPパケットである 。
--[TCP segment of a reassembled PDU]という情報は、
---TCPでストリームに書き込んだデータのサイズが大き過ぎる...
IPレイヤで複数のIPパケットに分割されたことを意味する。
---この情報は、[[後述するWiresharkにより生成された追加情...
であり、パケットのデータ中には含まれない。
-これらの分割されたパケットは、ファイル共有(SMB)による...
--SMBのコマンド情報が含まれないのでプロトコル パーサが反...
--SMBの「Write AndX Request」コマンドのパケットには、デー...
「Write AndX Request」コマンドによる通信データは、イーサ...
1460バイト毎に分割されて送信される(この場合、61440 ÷ 146...
***パケット詳細部 [#bcc20870]
-[パケット詳細部]には、[[[パケット一覧部>#a7233181]]]で選...
-プロトコル パーサによって解釈された情報がレイヤ毎に表示...
-レイヤ : フレーム → イーサネット フレーム → IPパケット →...
#ref(PacketDetailPart1.png,left,nowrap,パケット詳細部(プ...
-[パケット詳細部]の情報を選択した状態で右クリック、~
[Copy] → [Description]を選択することで、[パケット詳細部]...
このコピーした情報を検索(Find)機能で使用できる。
#ref(PacketDetailPart2.png,left,nowrap,パケット詳細部の情...
-また、[パケット詳細部]には以下の追加情報が出力される~
(これらの情報はパケットのデータ中には含まれないので注意...
--TCPパケットの前後の関係をWiresharkが判断して自動生成性...
--他のパケットへのリンク(Link)
-例えば、パケット詳細部の[SEQ/ACK Analysis]フィールドには、
--シーケンス番号・ACK番号からTCPの通信シーケンスを分析す...
--以下の図に示す[This is an ACK to the segment in frame: ...
このパケットがリンク先のパケットに対するACKであることを示...
#ref(PacketDetailPart_AdditionalInformationAndLinks1.png,...
-[[[パケット一覧部>#a7233181]]]の簡易情報に表示されていた...
-[パケット詳細部]を確認すると、下記情報が表示されているこ...
--[Reassembled PDU in frame: xxxx]という追加情報
--IPレイヤで分割されたパケットを束ねるリンク
#ref(PacketDetailPart_AdditionalInformationAndLinks2.png,...
-Wiresharkは、
--ノードが同一TCPコネクション上で初めのパケットの送信(・...
--TCP のPushフラグ 付きのパケットを送信(・受信)するまで...
---Pushフラグ(TCPフラグ)は、TCPの受信バッファのデータを...
---その他のTCPフラグについては、「[[TCPセグメント詳細情報...
--一連のパケット に、[TCP segment of a reassembled PDU]追...
---これは、TCPストリームへの1回の書き込み(読み込み)に...
---TCPストリームについては「[[TCPストリームで上位プロトコ...
-以下は、Pushフラグ付きのSMBの「Write AndX Request」コマ...
「Write AndX Request」コマンドのパケットを確認すると、分...
#ref(PacketDetailPart_AdditionalInformationAndLinks3.png,...
-また、トランスポート層のプロトコル([[TCP, UDP]])より上...
DNS 、HTTPなどのプロトコルでも、それぞれのプロトコル パー...
--例えば、DNSクエリ(パケット)を参照すると、このDNSクエ...
#ref(PacketDetailPart_AdditionalInformationAndLinksDNS.pn...
--また、以前のバージョンでは、パケット データ部から読み取...
Version0.99.7のプロトコル パーサからパケット詳細部の[Line...
テキストとして出力されるようになった(ただしASCII以外の文...
#ref(PacketDetailPart_AdditionalInformationAndLinksHTTP.p...
***パケット データ部 [#r7189225]
-[パケット データ部]では、[[[パケット一覧部>#a7233181]]]...
-以下は、HTTPリクエスト(GETメソッド)のパケットで左から...
-ただし、ASCII 以外の文字コード(Shift JIS、UTF-8)のエン...
#ref(PacketDataPart.png,left,nowrap,パケット データ部)
***ステータス バー [#i92ea5a5]
画面の最下部の[ステータス バー]には、
#ref(StatusBar.png,left,nowrap,ステータス バー)
-現在のプログラムの状態、
-パケット
--取得したパケット(Packets)
---現在、開いているファイル中のPacketの数
--表示中のパケット(Displayed)
---フィルタなどをかけた場合、表示されているPacketの数
--マークされたパケット(Marked)
---マーク したPacketの数
---[[[パケット一覧部>#a7233181]]]でパケットを選択した状態...
---その他にも、[Mark All Packet]、[UnMark All Packet]、[F...
などの情報が表示される。
**ディスプレイ フィルタ [#n95722ad]
-Wiresharkでは基本的に、キャプチャしたパケットにフィルタ...
-最も簡単な方法は、[フィルタ ツール バー]にプロトコル名を...
-以下、「smb」と入力して[Enter]キーを押しディスプレイ フ...
#ref(DisplayToolbar.png,left,nowrap,[フィルタ ツール バー])
以下、フィルタ式の作成方法を示す。
***フィルタの例から選択する [#r976cb12]
[フィルタ ツール バー]の脇にある[Filter]ボタンを押せば、[...
-[Filter]リスト ボックスからフィルタの例を選択し[OK]ボタ...
[フィルタ ツール バー]に対応するフィルタ式が設定される。
-[Apply]ボタンを押すと、現在のフィルタ式を適用する。
-また、[New]ボタンを押して新しいフィルタの例を作成するこ...
#ref(DisplayFilterDialog2.png,left,nowrap,[Display Filter...
***フィルタ式を手入力する [#k619c72f]
以下の基本的な点を押さえていれば、手入力でフィルタ式を作...
-基本的なフィルタ(アドレス、ポート、プロトコルを試用した...
--MACアドレス:「eth.addr==xx-xx-xx-xx-xx-xx」と記入する。
--IPアドレス :「ip.addr==xxx.xxx.xxx.xxx」と記入する。
--ポート番号 :「tcp.port==xx」、「udp.port==xx」と記入す...
--プロトコル :プロトコル名を小文字で記入する。
-演算子
--上記の例では、「=」演算子のみを使用しているが、他にも...
--以下、演算子の表を示す(演算子には、C言語風の演算子、Pe...
--ディスプレイ フィルタの演算子
|#|区分|意味|C言語風|Perl風|h
|1|>|>|>|比較演算子|
|1-1||等しい|==|eq|
|1-2||等しくない|!=|ne|
|1-3||より大きい|>|gt|
|1-4||より小さい|<|lt|
|1-5||以上|>=|ge|
|1-6||以下|<=|le|
|2|>|>|>|論理演算子|
|2-1||論理和||||or|
|2-2||論理積|&&|and|
|2-3||排他的論理和|^^|xor|
|2-4||否定|!|not|
-等しくない
--eth.addr、ip.addr、tcp.port、udp.portのフィルタ式を「!=...
--この場合、「==」で評価した式をカッコ「()」で囲み、そ...
***高度なフィルタ式の作成方法 [#p115baf5]
-これ以上に、高度なフィルタ式を作成する必要がある場合は、
--[フィルタ ツール バー]の脇か、
--[Display Filter]ダイアログ ボックス中にある
>[Expression]ボタンを押して表示される、[Filter Expression...
-ここでは、フィルタ式に使用できる
--フィールド・演算子・値を、
--選択・入力する
>ことでフィルタ式を作成できる。
#ref(FilterExpressionDialog.png,left,nowrap,[Filter Expre...
-以下は、HTTPのURLのホスト名でフィルタをかける式の作成例...
>
+[Field name]リスト ボックスから「http -> http.host」を選...
+[Relation]リスト ボックスから任意の演算子を選択し、
+[Value]テキスト ボックスでホスト名を入力する。
#ref(FilterExpressionDialogHostNameInHttp1.png,left,nowra...
***パケット詳細部で選択中のデータを元にフィルタする [#wf5...
-[パケット詳細部]でフィルタに関するデータを選択し、
--メニューから、[Analyze] ⇒ [Apply as Filters] ⇒ 「フィル...
--もしくは、右クリックして表示されたメニューから[Apply as...
>することでフィルタ式を作成することができる。
-以下は、追加情報に[This frame is a (suspected) fast retr...
--[パケット詳細部]で[This frame is a (suspected) fast ret...
--表示されたメニューから[Apply as Filters] ⇒ [Selected]を...
>フィルタをかけた所である。
#ref(FilterExpressionDialogHostNameInHttp2.png,left,nowra...
-[フィルタ ツール バー]にフィルタ式
tcp.analysis.fast_retransmission
>が入力され、パケットがフィルタされたことを確認できる。
*マクロな問題検出についての具体例 [#c73f05e7]
マクロな問題の検出についての具体例とWiresharkの操作方法に...
**帯域の不足、スイッチング能力、ワイヤ スピード [#b4906e76]
-パケットをキャプチャし、メニューから[Statics] ⇒ [Summary...
以下のような[Summary]ダイアログが表示され、
#ref(SummaryDialog.png,left,nowrap,[Summary]ダイアログ)
-通信の概要を把握できる。
--単位時間辺りの平均転送データ量
--単位時間辺りの平均パケット数
--平均パケット サイズ
-これらの情報が確認できれば、ネットワークのパフォーマンス...
--帯域幅の不足であるか、
--スイッチング能力の不足であるか、
>推測できる。
**通信の一覧・統計 [#u2326175]
***プロトコル階層毎の通信の一覧・統計 [#n632121e]
-パケットをキャプチャし、メニューから[Statics] ⇒ [Protoco...
[Protocol Hierarchy Statics]ダイアログが表示され、通信の...
#ref(ProtocolHierarchyStaticsDialog.png,left,nowrap,[Prot...
-例えば「UDPはTCPに勝つ」という構図がある。
--HTTPやTelnetなどのTCP通信と、IP電話やテレビ会議などのUD...
UDPの方が軽量でトラフィックの影響を受け難いため、見かけ上...
--必要に応じてルータやL3スイッチに実装されるQoS(ネットワ...
優先順位・帯域制御などの機能([[サービス品質制御機能>#w8b...
--また、管理者の知らないところで利用禁止されているP2Pソフ...
プロトコル別一覧から検知することもできる(ただし、対応す...
***時間軸を考慮した通信概要の把握 [#md0dea90]
-パケットをキャプチャし、メニューから[Statics] ⇒ [IO Grap...
-[IO Graphs]ダイアログでは、次のようなグラフを表示できる。
--[Graphs]グループのコントロールでは、フィルタ式を使用し...
[X Axis]・[Y Axis]グループでは、X・Y軸の単位・スケールの...
--X軸(グラフの横軸)は時間を表す。Y軸(縦軸)はデータ量...
-以下の図は、
--HTTPプロトコルによるWebアクセス、SMBプロトコルによるフ...
--IPプロトコル、HTTPプロトコル、SMBプロトコルのパケット数を
>グラフにしたものである。
#ref(IOGraphsDialog1.png,left,nowrap,[IO Graphs]ダイアログ)
-SMBの1つ目の山は、ファイル サーバの共有フォルダをエクス...
--この場合は、1つのSMBコマンドが1つのIPパケットに収まって...
IP(黒折れ線グラフ)とSMB(赤棒グラフ)がほぼ等しいパケッ...
--しかし、ファイル転送の際の通信状態を示しているSMBの2つ...
---2つのSMBコマンドが複数のIPパケットに分割されるため、~
---IP(黒折れ線グラフ)とSMB(赤棒グラフ)に大きな開きが
>>見られる。
-また、このツールはグラフ毎にスケールが変更できないため、...
--例えば、前述のグラフではHTTPのパケット数が少なくSMBのパ...
--この場合、スケールを変更することでHTTPプロトコルのグラ...
下記は、[Y Axis]グループの[Scale]コンボ ボックスを「AUTO...
--これにより、HTTPプロトコルのグラフが際立ち詳細を確認で...
#ref(IOGraphsDialog2.png,left,nowrap,[IO Graphs]ダイアロ...
***ノード毎の通信の一覧・統計 [#b60bed5c]
-パケットをキャプチャし、メニューから[Statics] ⇒
--[Endpoints]を選択すると[Endpoints]ダイアログが表示され...
--[Endpoint List] ⇒ [任意のプロトコル]を選択した場合は、...
#ref(EndpointsDialog.png,left,nowrap,[Endpoints]ダイアログ)
> ※ Txは送信、Rxは受信を表す。
-[Endpoints]ダイアログの[IPv4]タブでは、
--CPUに負荷をかけるブロードキャストなどのトラフィック
--特定のサーバへの負荷集中
--ノートPCの不正な持ち込み
--PCが放つ異常なトラフィック(不正なP2Pソフトの使用、ウィ...
>などの問題を検知できる。
-また、[[[TCP]・[UDP]>TCP, UDP]]タブではポートの情報も確...
***2つのノードの、会話毎の通信の一覧・統計 [#c47d0a27]
-パケットをキャプチャし、メニューから[Statics] ⇒ [Convers...
[Conversations]ダイアログが表示され、2つのノードの、会話...
#ref(ConversationsDialog.png,left,nowrap,[Conversations]...
>※ Txは送信、Rxは受信を表す。
-[Conversations]ダイアログの[IPv4]タブでは、~
前述の[Endpoints]ダイアログの「ノード毎の通信の一覧・統計...
さらに細かく「2つのノードの、会話毎の通信の一覧・統計」と...
-また、[[[TCP]・[UDP]>TCP, UDP]]タブではポートの情報も確...
*ミクロな問題検出についての具体例 [#g292fa3a]
ミクロな問題の検出についての具体例とWiresharkの操作方法に...
**第2層以下の問題の検出 [#l2ad9adf]
-第2層以下の問題としては、
--第1層の物理的な問題と、
--第2層のイーサネット(主にNICの設定や、MACアドレスのアド...
>の問題が考えられる。
-これらの問題はパケット キャプチャ ツールを使用して、
--NICドライバまでフレーム・パケットが届いているか。
--NICの設定やARPによるアドレス解決は正しいか。
>などを確認することで問題を切り分ける。
-例えば重複したIPアドレスが設定されているノードを下記の方...
--システムの起動時・IPアドレス変更時などに自ノードのIPア...
--これをGratuitous ARPと呼ぶ。Gratuitous ARPに対するレス...
--以下に、Gratuitous ARPにより重複したIPアドレスを検出し...
#ref(GratuitousARP.png,left,nowrap,Gratuitous ARP)
-以下、Gratuitous ARPのシーケンスを説明する。
--No13:自ノードのIPアドレスを持つGratuitous ARPがブロー...
--No14:同一のIPアドレスを持つ他ノードはGratuitous ARPに...
--No15:
>この他ノードは、最初のGratuitous ARPのブロードキャストで...
ARPテーブルを元に戻すため、再びGratuitous ARPをブロードキ...
-同一のIPアドレスを持つノードは、上記のMACアドレスから確...
**第3層(IP)の問題の検出 [#n7254495]
-第3層の問題としては、主に
--ルーティング関連の設定(IPアドレス、サブネット マスク、...
--IPパケットのフラグメントに関する設定
>のミスが考えられる。
-ルーティング テーブルを持つノードのNICをパケット キャプ...
※ 簡単な問題であれば、[[ping>pingコマンド]]、[[tracert>tr...
***IPの問題点として確認できること [#w8b3c702]
-フラグメント化
--通常のイーサネットでは、MTU(IPパケットの最大サイズ)は...
>物理(インターフェイス)規格毎の最大MTUサイズ
|#|規格|規格の説明|最大MTUサイズ|h
|1|Ethernet|CSMA/CD方式のLAN規格|1,500バイト|
|2|FDDI|トークンリング方式のLAN規格(利用は終焉しつつある...
|3|ATM|広域ATMネットワーク、速度保証を謳ったキャリアサー...
|4|X.25|公衆回線網用|1,600バイト|
|5|フレームリレー|光ファイバなど|1,600バイト|
--フラグメント化に関するビットには以下のビットがあり、フ...
--これらの情報はIPヘッダに書きこまれているので、[パケット...
>IPパケットのフラグメント化に関するビット
|#|フラグ|意味|h
|1|Reserved bit|予約されているビット(現状は利用されてい...
|2|Don’t fragment(DFビット)|フラグメント化を禁止するビ...
|3|More fragment(MFビット)|Don’t fragmentビットがオフの...
#ref(PacketDataPartOfFragment.png,left,nowrap,フラグメン...
-サービス品質制御
--サービス品質制御は、ルータやL3スイッチに実装されるQos(...
--L2スイッチもVLANで利用できる、タグを使用したサービス品...
--ルータがパケットの優先度を決める方法には次の2つがある。
---送信元や送信先のIPアドレス、使用プロトコル、ポート番号...
---IPパケットの優先度を明示的にIPパケット内のフィールド(...
--TOSフィールド・DSCPフィールドは、パケット詳細部で確認で...
このフィールドの値の意味や、サービス品質制御に関する詳細...
#ref(PacketDataPartOfQosControl.png,left,nowrap,サービス...
-プロトコル番号
--プロトコル フィールドのプロトコル番号は、対象のIPパケッ...
--イーサネット上では、殆どのパケットが[[6番(TCP)、17番...
--プロトコル番号は、IANAにより規定されている。
--プロトコル番号に関する詳細は下記のWebページを参照のこと...
iana.org > Assigned Internet Protocol Numbers~
http://www.iana.org/assignments/protocol-numbers/protocol...
#ref(PacketDataPartOfProtocolNo.png,left,nowrap,プロトコ...
***IPのトラブルシュート事例 [#b125355c]
-VPN間で通信できなくなる問題
--現象
---VPN間でSMB通信をすると通信できなくなった。
---ファイル サーバのNICをパケット キャプチャしたところ、...
---VPNルータのNICをパケット キャプチャしたところ、VPNルー...
#ref(TroubleshootOfVPN1.png,left,nowrap,VPN間でSMB通信を...
--分析
---そこで、VPNルータA の設定を確認した所、MTUサイズがイー...
---イーサネットではMTUサイズ:1500バイト、VPNではMTUサイ...
---通常は、DFビットが立っておりMTUサイズが異なることで通...
ルータは[[ICMP]]メッセージ(type3 code4 Next-Hop xxxx byt...
クライアントPCがこれより小さいMTUサイズで通信をリトライす...
|#|表示|説明|h
|1|Type3|Destination Unreachable(到達不能)|
|2|Code4|Fragmentation Needed and Don't Fragment was Set|
|3|xxxx byte|現在のMTU値より小さい値でリトライを要求する。|
#ref(TroubleshootOfVPN2.png,left,nowrap,SMBのIPパケットに...
--結果
---しかし、ルータのF/W機能で[[ICMP]]メッセージを破棄する...
送信元にこの[[ICMP]]メッセージが届かなくなり、通信できな...
この現象を[Path MTU Discovery Black Hole]と言う。
---VPNルータAの設定を確認した所、[[ICMP]]メッセージをルー...
---このようなことがあるため、pingコマンドはDFフラグを立て...
-サブネットマスクの設定ミス
--現象
---ルータへの負荷が突然高くなった。
---クライアントPCのNICをパケットキャプチャした所、~
ARPパケットから同一サブネットのIPアドレスへの通信が、~
デフォルト ゲートウェイ(ルータ)に送信されていることが確...
#ref(TroubleshootOfSubnet.png,left,nowrap,イーサネット内...
--分析
---そこで、クライアントの設定を確認した所、DHCPから配信さ...
1ビット余分に(255.255.255.0 → 255.255.255.128)設定され...
---サブネットマスク
|#|設定値|10進数表記|2進数表記|h
|1|サブネットマスク(正)|255.255.255.0|11111111.11111111...
|2|サブネットマスク(誤)|255.255.255.128|11111111.111111...
|3|クライアントIP|xxx.xxx.xxx.56|00001010.11010011.001000...
|4|サーバIP|xxx.xxx.xxx.134|00001010.11010011.00100001.10...
--結果~
これにより上記表の項番4の、サーバのIPアドレスがクライア...
クライアントPCはサーバに対してパケットを送信する際、デフ...
**第4層(TCP)の問題の検出 [#u008abfc]
-pingコマンドは通るが、実際には通信できないなどの問題が発...
--初めに[[netstatコマンド]]を使用して~
リスニング ポート、プログラム、F/Wのパケット フィルタリン...
その他TCP関連のパラメタ設定ミスがないかを確認する。
--これでも問題が解決しない場合は、TCPのパケット内のデータ...
-また、TCPではコネクション、ウィンドウ・フロー制御で問題...
これらに問題がある場合は、通信のオーバヘッドが大きくなり...
このため、TCPの場合はこの点を重点的に分析する。
-TCPのプロトコル スタックの実装はベンダ、装置、OSなどによ...
このため、この進化に取り残された装置・OSなどがネットワー...
--例えば、任意の装置・OSでRFC1323に記述されているウィンド...
--TCPのプロトコル スタックでは、このような実装の非互換に...
今後の技術動向や新しくリリースされた装置・OSの実装にも注...
以下、TCPにおける問題の分析方法を説明する。
***TCPの問題点として確認できること [#hcd1afbd]
-シーケンス番号・ACK番号
--シーケンス番号・ACK番号を確認することで、TCPの通信シー...
シーケンス番号は、送信データのバイト数増加し、ACK番号は受...
(シーケンス番号・ACK番号は、送信側・受信側で別々に管理さ...
--TCPの通信シーケンスを分析する場合は、メニューから[Stati...
[Flow Graph]ダイアログで[TCP flow]オプション ボタンをチェ...
#ref(FlowGraphDialog.png,left,nowrap,[Flow Graph]ダイアロ...
--すると、TCPの通信シーケンスを分析する[Graph Analysis]ダ...
ここから、TCPの通信シーケンスの詳細を分析できる。
#ref(GraphAnalysisDialog.png,left,nowrap,[Graph Analysis]...
--ただし、この分析方法では分析対象データが膨大になるので...
TCPフラグ、TCPオプション、Wiresharkの追加情報などを使用し...
-TCPセグメント詳細情報(TCPフラグ)から異常を確認する
--TCPセグメント詳細情報にあるTCPフラグを確認する。~
TCPフラグを下記の表に示す。TCPフラグはビットマスクが可能...
>TCPのフラグ
|#|区分|フラグ|意味|フラグの位置|16進表記|h
|1|>|>|>|>|一般的なパケット|
|1-1||SYN|TCPコネクション接続時にセットされる。|000000000...
|1-2||FIN|TCPコネクション切断時にセットされる。|000000000...
|1-3||ACK|肯定応答。接続開始時~終了時まですべてのパケッ...
|1-4||PSH|バッファ内容をアプリに渡す。|00000000001000|0x08|
|2|>|>|>|>|特殊なパケット|
|2-1||RST|問題発生時、緊急に接続を切断する。|000000000001...
|2-2||URG|緊急に処理するパケットを示す。|00000000100000|0...
|2-3||ECE|CEパケット の受信を送信側に通知する。|000000010...
|2-4||CWR|輻輳ウィンドウの縮小を相手に通知する。輻輳情報...
--TCPフラグのECE、CWRを分析する場合、IPヘッダのECTビット...
---ECTビット:Transport層プロトコルがECNに対応していること...
---CEビット:CEパケットにより、輻輳が起きていることを示す...
#ref(PacketDetailPartIP.png,left,nowrap,パケット詳細部(I...
--TCPフラグは[パケット詳細部]から確認でき、Wiresharkのフ...
コネクションの接続・切断、コネクションの拒否や輻輳 など問...
#ref(PacketDetailPartTCP.png,left,nowrap,パケット詳細部(...
--輻輳の発生を回避する技術や、輻輳状態から速やかに回復さ...
輻輳の状態が悪化し、通信効率が非常に低くなる状態を輻輳崩...
---特にTCPでは輻輳によりパケット遅延が発生した場合、~
再送処理を自動で実行するため更に輻輳が悪化し輻輳崩壊へ至...
---このためTCPでは様々な輻輳回避アルゴリズムが考えられて...
その核となっているのが、「スロースタート」と「輻輳回避」...
● スロースタート : 通信開始時は通信速度を遅くして、その後...
● 輻輳回避 : ネットワークが混雑している時は速度を落す。
--TCPフラグのフィルタ式を入力する場合、[Filter Expression...
---TCPフラグの[Field name]として、以下のものを利用できる。
>TCPのフラグ(フィルタ式)
|#|フラグ|フィルタ式(文字)|フィルタ式(ビット)|備考|h
|1|SYN|tcp.flags.syn == 1|tcp.flags == 0x02|接続切断の検...
|2|FIN|tcp.flags.fin == 1|tcp.flags == 0x01|~|
|3|ACK|tcp.flags.ack == 1|tcp.flags == 0x10|-|
|4|PSH|tcp.flags.push == 1|tcp.flags == 0x08|-|
|5|RST|tcp.flags.reset == 1|tcp.flags == 0x04|問題の検出...
|6|URG|tcp.flags.urg == 1|tcp.flags == 0x20|緊急データの...
|7|ECE|tcp.flags.ecn == 1|tcp.flags == 0x40|輻輳の検出に...
|8|CWR|tcp.flags.cwr == 1|tcp.flags == 0x80|~|
---[SYN/ACK]、[PSH/ACK]などを含まない、[ACK]のみを抽出す...
--以下は、RSTフラグが立っているパケットをフィルタした所で...
#ref(PacketDetailPartRST.png,left,nowrap,パケット詳細部(...
-Wiresharkが自動生成するパケット ステータスから異常を確認...
--Wiresharkは、以下の問題を分析して、TCPのパケットに追加...
---TCPのコネクション
---ウィンドウ・フロー制御~
● ウィンドウ サイズの状態~
● パケット遅延~
● ロストしたパケット~
● 再送要求のパケット~
● 再送されたパケット~
--このTCPの追加情報を下記の表に示す。~
これを元にWiresharkのフィルタ機能を使用して、問題となって...
---TCPの追加情報
|#|区分|TCPの追加情報|説明|h
|1|>|>|ウィンドウサイズの異常|
|1-1||TCP Window Full|ウィンドウサイズを0にするパケットに...
|1-2||TCP Zero Window|ウィンドウサイズが0になったことを示...
|1-3||TCP Zero Window Violation|ウィンドウサイズが0で送信...
|1-4||TCP Zero Window Probe|[TCP Zero Window]の受信後に送...
|1-5||TCP Zero Window Probe Ack|[TCP Zero Window Probe]に...
|1-6||TCP Window Update|ウィンドウサイズが拡張されたこと...
|2|>|>|パケットの消失と再送|
|2-1||TCP Previous segment lost|シーケンス番号が不正であ...
|2-2||TCP Dup ACK|同じACK番号が入った再送要求のACKパケッ...
|2-3||TCP Restansmission|再送要求で再送されたパケットに付...
|2-4||TCP Fast Restansmission|再送要求で高速再送 されたパ...
|3|>|>|キープアライブ|
|3-1||TCP Keep - Alive|直前のパケットと同じシーケンス番号...
|3-2||TCP Keep - Alive ACK|TCPキープアライブ パケットへの...
|4|>|>|その他|
|4-1||TCP Out – Of - Order|シーケンス番号が不正である(期...
|4-2||TCP ACKed lost segment|ACKに対するパケットが見つか...
--TCP追加情報のフィルタ式を入力する場合、[Filter Expressi...
---TCP追加情報の[Field name]として、以下のものを利用でき...
>TCPの追加情報(フィルタ式)
|#|追加情報|フィルタ式|h
|1|TCP Window Full|tcp.analysis.window_full|
|2|TCP Zero Window|tcp.analysis.zero_window|
|3|TCP Zero Window Violation|tcp.analysis.zero_window|
|4|TCP Zero Window Probe|tcp.analysis.zero_window_probe|
|5|TCP Zero Window Probe Ack|tcp.analysis.zero_window_pro...
|6|TCP Window Update|tcp.analysis.window_update|
|7|TCP Previous segment lost|tcp.analysis.lost_ segment|
|8|TCP Dup ACK|tcp.analysis.duplicate_ack|
|9|TCP Restansmission|tcp.analysis.restansmission|
|10|TCP Fast Restansmission|tcp.analysis.fast_restansmiss...
---以下は、[TCP Dup ACK]のパケットをフィルタした所である。
#ref(PacketDetailPartTCPDupACK.png,left,nowrap,パケット詳...
-TCPストリームで上位プロトコルを確認する
--TCPストリームを確認する場合は、パケット一覧部で1つのTC...
メニューの[Analyze] ⇒ [Follow TCP Stream]を選択する。
--すると、TCPコネクションのオープンからクローズまでの1つ...
フィルタ式によりフィルタされTCPストリームのデータを確認で...
--これにより、上位プロトコルのクライアント - サーバ間のや...
TCPストリームはTCPの上位プロトコルのやり取りを分析する際...
--TCPストリームでは、送信データと受信データが赤色・青色で...
---TCPストリームはIPレイヤでパケットがどのように分割され...
---また、通常のプロトコルではありえないが、仮に双方のノー...
TCPストリームに書き込みを行った場合でも、上り・下りのスト...
(TCPが通信の順番を制御するため、上り・下りのデータがパケ...
---TCPストリームには、このような特徴があるため、セション...
--例えば、パケット一覧部でHTTPプロトコルのパケットを選択...
1コネクションで処理されたHTTPのリクエストとレスポンスのペ...
---これに対し、HTTP1.1プロトコルのHTTP Keep-Aliveが有効に...
[Analyze] ⇒ [Follow TCP Stream]を選択すれば、1コネクショ...
---HTTP1.1のHTTP Keep-Aliveでは、性能向上のため、1回のTCP...
---このため、TCPストリーム中に複数の1回のリクエスト ~ レ...
#ref(TCPStreamOfHttp.png,left,nowrap,HTTPのTCPストリーム...
--また、SMBプロトコル(ここではファイル共有サービス)のキ...
[Follow TCP Stream]を選択すれば、SMBプロトコルのTCPストリ...
---同様に、送信データと受信データが赤色・青色で分類されて...
しかし、SMBプロトコルのコマンドはHTTPなどと異なり複雑で、...
#ref(TCPStreamOfSMB.png,left,nowrap,SMBのTCPストリーム)
---SMBなどのテキストで分析し難いプロトコルの詳細は、SMBの...
が~
出力するパケット詳細部の情報を元に、1パケット毎、SMBコマ...
#ref(PacketDetailPartSMB.png,left,nowrap,パケット詳細部(...
-エラー・警告・注意パケットの抽出
-- メニューの[Analyze] ⇒ [Expert Info]を選択することで[Ex...
TCPのコネクション、ウィンドウ・フロー制御(ウィンドウ サ...
などのエラー・警告・注意パケットの情報を抽出できる。
>[Expert Infos]ダイアログにおけるパケットの分類
||分類|分類|説明|h
|1|Error|エラー|フィールドと実際のパケットの長さが違う.et...
|2|Warn|警告|TCPのパケット欠落、高速再送の発生.etcを警...
|3|Note|注意|再送要求、再送の発生、ウィンドウサイズの問題...
|4|Chat|会話|HTTPのリクエスト レスポンス、TCPのコネクショ...
#ref(ExpertInfosDialog.png,left,nowrap,[Expert Infos]ダイ...
--また、メニューの[Analyze] ⇒ [Expert Info Composite]を選...
統計情報も含めたトラブルシューティングに役立つエラー・警...
([Details]タブには、[Expert Infos]ダイアログの内容が表示...
#ref(ExpertInfosCompositeDialog.png,left,nowrap,[Expert I...
***TCPのトラブルシュート事例 [#re153737]
-コネクションの接続・切断回数を確認する
--パケット遅延が大きい環境などでは、HTTP Keep-Aliveが無効...
TCPコネクションの接続・切断回数が多くなり、オーバヘッドが...
---その他、SSLの利用時にHTTP Keep-Aliveが無効の場合、~
SSLコネクション確立のオーバヘッドが大きくなっている場合が...
--TCPコネクションの接続を示す3ウェイ ハンドシェイク部分を...
---以下のフィルタ式を適用するか、
[SYNパケット] or [SYN / ACKパケット] or [ACKパケット...
--------------------------------------------------------...
tcp.flags == 0x02 || tcp.flags == 0x12 || ( tcp.flags ==...
└───────┘ └───────┘ └─────────────────┘
SYN SYN/ACK ACKか...
※ [SYN/ACK]、[PSH/ACK]などを含まない、[ACK]のみを抽出する...
#ref(PacketDetailPart3WayHandshaking.png,left,nowrap,3ウ...
---[Expert Info Composite]ダイアログの[Chats]・[Details]...
-予期せぬ接続の切断、輻輳などを確認する
--予期せぬ接続の切断を確認する場合は、RSTパケットを抜き出...
tcp.flags.reset == 1
--例えば、リスニング ポートが重複していた場合など、コネク...
#ref(TroubleshootOfRST.png,left,nowrap,[RST]フラグがある...
**第4層(UDP)の問題の検出 [#kb405e75]
-[[pingコマンド]]は通るが、通信できないなどの問題が発生し...
--初めに[[netstatコマンド]]を使用して~
リスニング ポート、プログラム、F/Wのパケット フィルタリン...
などのパラメタ設定ミスがないかを確認する。
--これでも問題が解決しない場合は、UDPのパケット内のデータ...
-UDPの問題は、コネクション、ウィンドウ・フロー制御など、...
(これは必要であればアプリケーション側で実装される)。
--このため、UDPプロトコルのデータ(UDPヘッダ)自体に情報...
--従って、UDPパケットの解析は、パケット キャプチャ ツール...
単純に思えるが、個々のパケット単位での照合は難しいので注...
**7-5層(HTTP・FTP・SMTP・SMB)の問題の検出 [#x13c00c9]
***セッション層以上のプロトコルの問題点として確認できるこ...
-そのプロトコルのTCPストリームを確認し、
-プロトコルの動作・仕様、クライアント・サーバ プログラム...
***セッション層以上のプロトコルのトラブルシュート事例 [#f...
-トラブルシュート事例(HTTP, FTP)
|#|プロトコル|現象|>|>|原因と、その特定方法|h
|1|>|>|>|>|HTTP|
|1-1||>|>|>|HTTPの画面表示の遅延が大きい|
|~|~|~||原因|HTTPキープアライブが無効になっていたため、SS...
|~|~|~||特定方法|HTTPクライアントのNICをパケット キャプチ...
|1-2||>|>|>|Webアプリケーション サーバでエラーが発生する|
|~|~|~||原因|IEのキャッシュ制御の仕様がファジー(不明確)...
|~|~|~||特定方法|HTTPクライアントのNICをパケット キャプチ...
|2|>|>|>|>|FTP|
|2-1||>|>|>|FTPサーバからダウンロードできない(アクティブ...
|~|~|~||原因|アクティブモードのFTPでは、FTPサーバからFTP...
|~|~|~||特定方法|FTPサーバのNICをパケット キャプチャし、...
|2-2||>|>|>|FTPサーバからダウンロードできない(パッシブモ...
|~|~|~||原因|パッシブモードのFTPでは、FTPクライアントから...
|~|~|~||特定方法|FTPクライアントのNICをパケット キャプチ...
|2-3||>|>|>|FTPでファイルが見つからないエラー|
|~|~|~||原因|FTPサーバが本来、相対パスでファイル一覧を返...
|~|~|~||特定方法|FTPクライアントのNICをパケット キャプチ...
-トラブルシュート事例(SMB, その他)
|#|プロトコル|現象|>|>|原因と、その特定方法|h
|3|>|>|>|>|SMB|
|3-1||>|>|>|Excelファイルのオープンが遅い|
|~|~|~||原因|ネットワークにパケット遅延があり、更にExcel...
|~|~|~||特定方法|ネットワーク経由のファイル オープン時、E...
|3-2||>|>|>|特定のアプリケーションで、SMB経由の保存ができ...
|~|~|~||原因|UNIX・FAT優先モードになっており、NTFS用のア...
|~|~|~||特定方法|ファイル サーバのNICをパケット キャプチ...
|3-3||>|>|>|SMBで認証できない(WindowsCE + NAS)|
|~|~|~||原因|クライアント・サーバ プログラムの作り込みの...
|~|~|~||特定方法|ファイル サーバのNICをパケット キャプチ...
|4|>|>|>|>|その他|
|4-1||>|>|>|認証でエラー|
|~|~|~||原因|パスワードの入力・設定ミス|
|~|~|~||特定方法|クライアントのNICをパケット キャプチャし...
|4-2||>|>|>|FTPサーバのレスポンス遅延|
|~|~|~||原因|FTPサーバがログ出力のためDNSを逆引き(IPアド...
|~|~|~||特定方法|FTPサーバのNICをパケット キャプチャし、...
-以下は、HTTPとPOP3の認証エラーのトラブルシュート時のパケ...
#ref(TCPStreamOfHttpAuth.png,left,nowrap,HTTPのプロキシ認...
#ref(TCPStreamOfPOP3.png,left,nowrap,POP3の認証のTCPスト...
*HTTPのキャプチャ [#jacc0de2]
-Wiresharkは、OSI参照モデルで言う所の第4・5層のキャプチャ...
-従って、キャプチャした情報は、フレームやパケット単位で見...
-HTTPのリクエスト・レスポンス(OSI参照モデルで言う所の第6...
のコンテンツについては、[Follow TCP Stream]で確認すること...
-参考
--[[TCPストリームで上位プロトコルを確認する>#hcd1afbd]]
--Wiresharkで特定の通信セッションだけを抽出して表示する ...
http://www.atmarkit.co.jp/fwin2k/win2ktips/1048wsharkstre...
--[Follow TCP Stream]の結果、リクエスト・レスポンスの見た...
HTTP 100-continue などによりキレイに繋がらないことがあり...
---HTTP 100-continue - ..たれろぐ..~
http://d.hatena.ne.jp/naga_sawa/20101114/1289709797
---また、全角文字が「・」で表示され確認できません。
*参考 [#i3ac90b5]
**Wiresharkの使い方 [#l78c7369]
下記を参照下さい。
-ネットワーク入門サイト - Wiresharkの使い方~
http://beginners-network.com/wireshark.html
-Wiresharkで特定のプロトコルだけを表示させる - @IT~
http://www.atmarkit.co.jp/fwin2k/win2ktips/1050wsfiltprot...
-Wiresharkで特定の相手との通信だけを表示させる - @IT~
http://www.atmarkit.co.jp/fwin2k/win2ktips/1065wsfiltaddr...
-Wiresharkで特定の通信セッションだけを抽出して表示する -...
http://www.atmarkit.co.jp/fwin2k/win2ktips/1048wsharkstre...
**Wiresharkを使った通信監視 [#s5dbf454]
-さくらのナレッジ
--(前編)―基本的な使い方とパケット解析~
https://knowledge.sakura.ad.jp/6286/
--(後編)―コマンドラインベースでのパケットキャプチャ~
https://knowledge.sakura.ad.jp/6311/
**WinPcap [#nbe59c8a]
-WinPcapは、パケット キャプチャに関する機能を提供するソフ...
-以下のモジュールから構成される。
--システム非依存型の「wpcap.dll」
--ローレベル ライブラリ「Packet.dll」
--カーネル モードのNDIS中間ドライバ「npf.sys」
-Wiresharkでは、WinPcapを使用してパケット キャプチャを行...
**tshark [#xc70a425]
tsharkというCUI版も存在する様です。
----
Tags: [[:インフラストラクチャ]], [[:通信技術]], [[:障害対...
ページ名: