連載第3回
|
![]() |
|
| 生のTCPに触れてみよう |
ここまでTCPのキホン的な仕組みと、そしてJasper(参照:TCPの迷宮を さまよってみませんか?)を使ったシミュレーション画面を見てきました。しばらく仮想世界の話が続いたので、少し頭も疲れてきたかもしれません。また、ホンモノのTCPがどんなふうになっているのか、気になる方も多いと思います。そこで、ここからは実物のTCPを観察する方法を紹介したいと思います。
ネットワークを流れているデータを拾い出し、人間の目に見える形で表示するソフトは、普通「プロトコルアナライザ」とか「パケットキャプチャソフト」と呼びます。こういったソフトウェアは、主にネットワークにトラブルが起こったときや、ソフトウェアの開発をしているときに使用します。また、このページのようにTCPを学習するときにも、このプロトコルアナライザは学習の助けになります。
Etherealというプロトコルアナライザが、無料で利用できるうえに、機能も充実していますので、これを使ってみましょう。
まずhttp://www.ethereal.com/download.htmlに接続し、「Windows 98/ME/2000/XP/2003 Installers」の「HTTP」列にあるJapanをクリックします。現れたページの下部には、ファイルのリストがあるはずです。ここにある、ethereal-setup-xxx.exeを右クリックし、「対象をファイルに保存」を選択してください。ちなみに執筆時点ではethereal-setup-0.10.2.exeでした。
フォルダの指定が現れたら、適当なフォルダを指定します。ファイルのダウンロードが始まり、指定フォルダにファイルが保存されるはずです。
同様の手順でWinPcap_xxx.exeもダウンロードしておきます。こちらは執筆時点でWinPcap_3_0.exeでした。
なおEtherealのマニュアルが必要な方はhttp://www.ethereal.com/docs/から入手できます。ただし英語版です。
| 注意: 本記事ではWindows版を想定していますが、Unix版をご使用の方はご参照ください |
| セキュリティ問題を修正するためのアップデートが必要です CIAC Bulletin O-105 Multiple Vulnerabilities in Ethereal 0.10.2 http://www.ciac.org/ciac/bulletins/o-105.shtml パッケージによるアップデートは、各ディストリビューション のアップデート情報をご覧ください 【例】(日本語)Red Hat セキュリティアドバイス RHSA-2004:136-09 セキュリティ問題を修正したEtherealのアップデート パッケージ http://www.jp.redhat.com/support/errata/RHSA/RHSA-2004-136J.html |
まず先にWinPcapを組み込みます。これはネットワークからデータを拾い出すための機能を追加するプログラムです。ダウンロードしておいたWinPcap_3_0.exeをダブルクリックして実行します。組み込みは基本的に「Next」をクリックしていけば進みます。「License Agreement」のページだけは「Yes, I agree with all the terms of this license agreement」にチェックを付けてから「Next」をクリックします。難しいところはないでしょう。
次にEthereal本体を組み込みます。ethereal-setup-0.10.2.exeをダブルクリックするとインストーラが立ち上がります(画面1)。
![]() |
| 画面1 Etherealを起動したところ |
こちらもインストールはカンタンで「Next」または「I Agree」または「Install」をクリックしていけば、特別な操作をしなくても組み込みは終了します。
「スタート」→「プログラム」→「Ethereal」→「Ethereal」と選ぶと、Etherealが起動します(画面1)。この画面で「Capture」→「Start」を選択します。すると画面2が現れますので「OK」をクリックしてください。これでネットワークを流れる情報の拾い出しが始まります。
![]() |
| 画面2 キャプチャ条件の指定。とりあえずそのままで |
拾い出しスタートと同時に画面3が現れます。これは、ネットワークから拾い出した情報のうち、どんな種類のものがどの程度あったかを示すものです。
![]() |
| 画面3 記録した通信の種類。Webアクセスなら大部分がTCP |
ここでブラウザを立ち上げ、www.atmarkit.co.jpにアクセスしてみました。するとTCPのカウントがどんどん上がり、WebページへのアクセスはTCPであることを確認できます。このとき、Etherealはwww.atmarkti.co.jpへのアクセスでやりとりした内容を拾い出して、次々に記録しています。
画面の「Stop」をクリックすると、Etherealはデータの拾い出しを終わり、そこまでに記録した通信内容を時間順に表示します(画面4)。
![]() |
| 画面4 記録した通信内容を一覧表示したところ |
画面は3つに分かれています。一番上が時間順にデータを並べたもので、中間がその中身を文字で表したもの、そして一番下が生のデータで表したものです。なかなか難しそうな画面ですが、こんな画面を見ていると、少し、TCPに近づいた気もしてきます。
通信の概要を大ざっぱに理解するためには、まず一番上の画面を見ます。左から時間、送信元のIPアドレス、あて先のIPアドレス、プロトコル、通信内容の概略が表示されています。
ここでNo.1、2、3をジーっと眺めてみてください。このやりとり、どこかで見たことがありませんか? そうTCPで通信をはじめるときのやりとりです(3ウェイハンドシェイクといいます)。自分のPC(192.168.1.5)が、AtmarkITのWebサーバ(211.4.250.170)に通信の開始を依頼してACKが戻ってきて、逆にAtmarkITのWebサーバからも自分のPCに向けて通信の開始要求がやって来ています。ポイントは、そう「SYN」でしたね。実際の通信がお話どおりに進んでいるのを見ると、ちょっとうれしくなってきます。
なお、Etherealはネットワークの情報を原則すべて拾い出すので、ほかのコンピュータ同士の通信が紛れ込んで、この画面どおりにならないこともあります。
では前半で登場したシーケンス番号はどこにあるでしょうか? No.4のデータで見てみましょう。1番目のデータのやりとりです。
画面上の部分でデータを選択すると、その詳しい内容が画面中間に表れます。この中の「Sequence number:1」という部分があります。これがシーケンス番号を示しています。この通信はシーケンス番号1番から始まることが分かります。
なお、この通信で何を送っているかは、画面下の生データを見ると分かります。いろんな情報に交ざって、「GET / HTTP/1.1……」という部分が見えます。これはブラウザがWebサーバに対して、そのページのHTMLファイルを送るようにリクエストしています。詳しくはHTTPのお話(HTTP語でWebブラウザとしゃべってみよう )を参照してみてください。
Etherealはネットワークから情報を拾い出すツールですので、悪用すれば、ネットワークをのぞくような使い方もできてしまいます。そのため、特に会社などの組織では、利用を制限したり、利用者を自動的に発見して警告したりするような仕組みが導入してある場合があります。自宅以外の場所で試すときには、使ってもいいのかどうか、あらかじめネットワーク管理者に相談してみてください。
いえいえ。ここまでに出てきたTCPの話は、まだごくさわりの部分だけです。それにEtherealは「個々の情報を詳しく見る」のは得意ですが、全体像を把握するのにはあまり向きません。
次回からは、これまでと同様に身近な例でTCPの働きを説明し、JasperでTCP通信の流れを確認、その後でEtherealで通信内容の細かい部分を見るという3段構えで、TCPのややこしい部分に少しずつ分け入っていきたいと思います。お楽しみに。
|
|
|
|
||||||||
| 関連リンク | |
| 連載:TCP/IPアレルギー撲滅ドリル【超実践編】(上位レイヤ編) 連載:インターネット・プロトコル詳説 連載:ルータの仕組みを学ぼう ホストのネット接続は正しく行われているか? 〜netstatによるネットワーク設定の確認〜 |
|
| 「Master of IP Network総合インデックス」 |
ホワイトペーパー(TechTargetジャパン)
- 知られざるLTEのネットワーク構成 (2010/1/13)
LTEのネットワーク構成やプロトコルスタックを詳解。それぞれどんな役割を果たしているかを解説します - iPhoneアプリ内課金導入でガッチリもうけるのだ (2009/12/18)
「iPhoneのアプリ内課金ってどーよ?」 そんな疑問に答えるべく、アプリ内課金のサポート業務を行っている企業を直撃 - インターネット世界の住所の書き方 (2009/12/8)
TCP/IPネットワークであて先を特定する識別子、IPアドレスの構造やサブネットマスクの役割などを説明します - iPhoneアプリに広告を挿入してガッチリもうけるのだ (2009/11/16)
iPhoneアプリに広告を挿入して1日に50万円ももうけている!と聞き、その仕組みを知りたくて、日米のアドネットワーク企業に聞いた
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |











