Slide
-
date post
21-Oct-2014 -
Category
Technology
-
view
2.761 -
download
2
Transcript of Slide
1.はじめに
(1)通信の流れ、知ってる?
• TCP/IPはちゃんと勉強した、本も読んだし OSI参照モデルも知ってる。
• プロトコルの通信の流れも勉強した。• TCPはスリーハンドシェイクでしょ、本で読んだ。
• →なるほど、通信は目で見たことある?• →は?見る?
(2)意外と通信を見ている人は少ない
• 本で学んだ知識と、アプリケーションで使えていることだけで終わってしまう。
• →じゃあちゃんと目で見てみよう。• →パケットアナライザで!
2.パケットアナライザについ
て
(1)パケットアナライザとは
• ネットワーク上に流れる生のパケットを広い、表示する。
• パケットのヘッダもデータも表示してくれる。
• 機器のログだけではわからない、生の通信が目に見える。
• →障害調査に便利!
(2)パケットアナライザ使用例
Webサイトが見えない!
パケットアナライズしたけどパケット来
てない
パケットアナライズしたらパケット来て
る
パケットアナライズしたけどパケット来
てない
パケットアナライズしたらパケット来て
る
お前が原因か!
3.パケットアナライザの注意点
(1)プロミスキャスモード
• 通常の状態では、 NICは自分宛もしくはブロードキャスト宛の通信のみを受信し、その他は破棄。
• キャプチャはネットワーク上に流れるパケットを全て拾うのが目的なので、自分宛以外の通信も拾いたい!
• →それ、プロミスキャスモードで。
• 受信したパケットを宛先かまわず無差別に拾う。
• プロミスキャスモードにしないと自分宛以外の通信は拾えないので注意。
• Linuxの場合 $ sudo ifconfig eth0 X.X.X.X promisc• Windowsの場合 NICのプロパティから(ただし NICによって違う)
プロミスキャスモード(promiscuous mode)とは
(2)スイッチング HUB• FDB(MACアドレス学習テーブル )に従い、ポートごとに通信を制御する。
• FDBに学習されたMACアドレス宛の通信は、そのMACアドレスが接続されているポートに対しパケットを出力する。
• FDBに学習されていないMACアドレス宛の通信は、全ポートに対しパケットを出力し、FDBに対象MACアドレスを記録する。
• →ネットワーク上に流れるパケットを全て拾うことができない!
• 特定のポートに流れるパケットを、指定したポートにコピーする機能。
• 機種によって単ポートのみ対応であったり、複数ポート対応であったりする。
• ミラーリングポート機能を使用することで、極力すべてのパケットを拾うことができる。
• →理想はリピータやタップを使うべき。
ミラーリングポート
(3)時刻同期
• 経路上で複数のキャプチャマシンを使う場合、もしくはログと比較する場合、各マシンの時刻がズレていると比較にならない。
• →調査対象の機器は全て時刻が同期していることが重要!
3.パケットアナライザ
ソフトウェア紹介
(1)Wireshark
• かつて「 Ethereal」という名前だった超有名ソフトウェア。
• GPLで開発されている OSS。• Windows、 Linux、 BSDなどの多種多様な OSに対応。
• http://www.wireshark.org/
• →GUIのパケットアナライザとしては事実上標準。
Wiresharkの画面例
(2) VIGIL
• SAPPOROWORKS(札幌ソフト開発工場 )で開発されているシェアウェア (\1,050)
• プロトコルの解析結果からデータを再作成可能。
• グラフ表示など視覚的に分かりやすい。• http://homepage2.nifty.com/spw/software/vigil/
• →取っつきやすくて簡単。
VIGILの画面例
(3) tcpdump
• 1991年から開発が続く老舗 OSS。 BSD License。
• Linux、 BSDなどの各種 Unix風 OSに対応。• Windowsで使えるWindumpというのもある。• http://www.tcpdump.org/
• →CUIのパケットアナライザとしては事実上標準。
(4) snoop
• Solarisに付属するパケットアナライザ。• SunOSに付属した Etherfindの後継。
• →Solaris使い必須のツール。
(5) ngrep
• tcpdump+grep的なツール。• アナライズしたパケットを tcpdump風味にも grep風味にも検索できる。
• http://ngrep.sourceforge.net/
• →Latest Verが 06/11/18リリースの 1.45。開発止まってる?
さあ実際に通信を見てみよう!
end