インターネットでは、いろいろなソフトが配布されているが、中には怪しいソフトも存在する。
例えば、無料のソフトをインストールしたパソコンでユーザーの個人情報や行動を収集し、別のマシンに送ってしまうスパイウェアなどだ。
そこで、ネットワーク通信について、基本的なところから学んでみよう。
パケット解析とは
パケット解析とは、ネットワークを流れるデータを取得して解析する作業だ。
具体的には、回線に流れるネットワークデータをキャプチャするツール(tcpdumpやWireshark)を使って解析する。
では、ツールを使うと、どんなことができるのか。
- 悪さをする行為の特定
- ネットワーク上に誰がいるのか調べる
- 誰が何に使っているのか調べる
- リソースを喰うアプリを調べる
通信のしくみ
通信するときのお約束事をプロトコルと呼ぶ。
ざっくり言うと、マシンAが日本語で話しかけ、マシンBが中国語で返事すると、コミュニケーションが成り立たない。
そこで、「ある通信をするときは、このお約束にそって通信しよう。」と決めておく。
お約束事であるプロトコルは、OSI参照モデルに定義されている。
OSI参照モデルとは
1つのメーカーの機器同士で通信する場合には問題ないが、違ったメーカーの機器と接続するには、何らかの標準が必要だった。
そこで、1984年にISO(国際標準化機構)が異機種間のデータ通信を実現するため通信機能を階層構造に分割したモデルを策定した。
ちなみに、OSIは、Open Systems Interconnectionの略だ。
OSI参照モデルは第1層から第7層まで7つの層がある。
層 | 名称 | プロトコル |
7 | アプリケーション層 | HTTPS、 HTTP、 PO3、 SMTP、 NFS、 FTP、 SSH など |
6 | プレゼンテーション層 | ASCII、 MPEG、 JPEG、 MIDI、 EBCIDC など |
5 | セッション層 | NetBIOS、 SAP、 SDP など |
4 | トランスポート層 | TCP、 UDP など |
3 | ネットワーク層 | IP、 IPsec、 ICMP など |
2 | データリンク層 | Ethernet、 Token Ring、 PPP など |
1 | 物理層 | RS-232、ツイストペアケーブル、ハブ、無線通信、光ケーブルなど |
各階層について
アプリケーション層:ネットワークを利用するソフトとやりとりする。つまり、ネットワーク上のすべての活動の起点となるインターフェイスを提供する。
プレゼンテーション層:データをアプリケーション層が読み取ることができるように変換する。データをエンコード、デコードする方法は、送受信するデータのアプリケーションのプロトコルに依存する。
セッション層:通信相手との対話であるセッションの確立、管理、切断を実施する。
トランスポート層:下位層へデータ転送サービスを提供する。フローの制御、データの分割、再構築、エラー制御などの機能を提供する。
コネクション指向のサービスとコネクションレスのサービスを提供する。
ネットワーク層:送信元と送信先のやりとりを提供する。IPアドレスのアドレス指定を行う。
データリンク層:マシンとLANケーブルでつながったルータやマシンと無線LANアクセスポイントのように、つながった機器とのやりとりを提供する。
物理層:ケーブルや電圧、ハブなどの物理的なモノのルールを定義している。
ポイントなるのは、プロトコルの階層に応じて、ネットワークトラブルの対処法が変わってくることだ。
まとめ
パケット解析の前に、通信のお約束事であるプロトコルやOSI参照モデルについて、簡単に役割を確認してみた。
コメント