通信の監視ができるWiresharkは、ネットワークトラフィックを手軽に解析出来る便利なソフトウェアになります。通信の仕組みやパケットの解析をするためには使い方を勉強する必要があります。
{ この記事の目次 }
Wireshark(ワイヤーシャーク)とは?
Wireshark(ワイヤーシャーク)とは、LANアナライザの一つで、LAN上を通過するトラフィックを監視したり、またそれを記録するためのハードウェアやソフトウェアをいいます。
ネットワーク上で動いている際に使うと、データの流れの一連を解読したり、分析したり出来る通信監視のための一種のソフトウエアになります。
「パケットアナライザ」や「ネットワークアナライザ」と呼ぶ人もいます。
Wiresharkでパケットキャプチャを取る
Wireshark(ワイヤーシャーク)を起動すると以下の画面になります。
接続先(インターフェイス)を選択すると、パケットキャプチャーが始まります。
パケットキャプチャーが実行されると以下のような画面が出て、通信の一連の流れが、順番にキャプチャーされます。
ツリー(木構造)形式でパケットを表示してくれます。
Wiresharkの主な使用目的は、通信を監視しなければいけいない時、(webサーバーが遅い、通信が不安定、メールが届かない、マルウェアやウイルス解析等)に利用します。
Wiresharkに必要なネットワークの知識
パケット通信とは?
携帯料金の契約時に耳にするパケット通信ですが、パケットは、ネットワーク経由でやりとりされる情報の伝送単位になります。
データを小さな単位の「パケット」に分割して送受信することを「パケット通信」と呼んでいます。
パケット通信がネットワークを流れていく単位を、小包(packet)として、郵便物に例えて言うこともあります。
通信プロトコルとは?
通信プロトコルには様々な種類があります。
それぞれの階層構造は役割ごとに分けられ、それぞれの仕事をこなすことで一連の通信が行われます。
全部で7つの階層構造に分かれています。
この階層構造を、OSI参照モデルといいます。各段階のことを層(レイヤ)
と呼びます。
7. アプリケーション層 | HTTP、DHCP、SMTP、SNMP、SMB、FTP、Telnet、AFPX.500 |
---|---|
6. プレゼンテーション層 | SMTP、SNMP、FTP、Telnet、AFP |
5. セッション層 | TLS、NetBIOS、NWLink、DSI、ADSP、ZIP、ASP、PAP、名前付きパイプ |
4. トランスポート層 | TCP、UDP、SCTP、DCCP、SPX、NBF、RTMP、AURP、NBP、ATP、AEP |
3. ネットワーク層 | IP、ARP、RARP、ICMP、IPX、NetBEUI、DDP、AARP |
2. データリンク層 | イーサネット、トークンリング、アークネット、PPP、フレームリレー |
1. 物理層 | RS-232、RS-422 (EIA-422、TIA-422)、電話線・UTP、ハブ、リピータ、無線、光ケーブル |
よく使われるプロトコルの種類
OSI参照モデルの中で、解析に置いて多く目にする良く使うプロトコルだけを解説します。パケットキャプチャーを行う際に、監視することの多いプロトコルになります。
HTTP | webページのデーターのやりとりをする。 |
HTTPS | セキュリティに対応した通信で、webページのデーターをやり取りする。 |
SSH | セキュリティに対応した通信でコンピューターを遠隔操作する。 |
DNS | URLとIPアドレスを相互交換をする。 |
POP3 | サーバーに保管されたメールを取り出す。 |
SMTP | メールを送信する。 |
FTP | ファイルを転送する。 |
TCP | 確実さを優先してアプリケーションのデーターを送受信する。 |
UDP | 速度を優先してアプリケーションのデーターを送受信する。 |
IP | パケットを目的地まで届ける。 |
Telnet | コンピューターを遠隔操作する。 |
イーサーネット | メタルケーブルや光ファイバーケーブルでデーターを伝送する。 |
ポート番号とは?
ポート番号は、コンピュータが通信を行うために通信先のアプリケーションを特定するための番号になります。
ポートは、ネットワークでデータを通信するための扉のことで、ポートを例えるなら「家の玄関」になります。
IPアドレスが「家」であれば、ポートは家を出入りする行動に値します。ネットワークの通信のやりとりは、この「IPアドレス+ポート番号」で行われています。
ポートで相手に送るデーター例
ポートで受け取り、届いたデータ
良く使われるポート番号
20番ポート | FTP (データ) |
21番ポート | FTP (制御) |
22番ポート | SSH(遠隔操作) |
23番ポート | Telnet(遠隔操作) |
25番ポート | SMTP |
53番ポート | DNS |
67番ポート | DHCP(サーバ) |
68番ポート | DHCP(クライアント) |
80番ポート | HTTP |
110番ポート | POP3 |
119番ポート | NNTP |
123番ポート | NTP |
139番ポート | NetBIOS |
143番ポート | IMAP |
443番ポート | HTTPS |
587番ポート | Submission(メール送信) |
8080番ポート | ローカルネットワーク |
※そのほかのポートについて
ポート番号一覧
Wiresharkの使い方と見方
表示フィルタを使う
パケットキャプチャーの絞り込み検索したい時には、「表示フィオルタ」を使います。検索の方法として、比較演算子や論理演算子を使うことができます。
== | 等しい |
eq | 等しい |
nq | 等しくない |
!= | 等しくない |
&& | かつ |
|| | または |
! | 〜ではない |
こちらの検索窓に演算子を入れると、パケットの一覧が表示されます。
例えば、tcpのポート80または、udpのポートが80の比較には以下のように検索をかけることができます。
比較演算子 / 論理演算子tcp.port == 80 || udp.port == 80
色分けをする
色分けをしたり、消したりすることができます。
色分けをしておくと、どのパケットなのかがわかりやくなります。
「view」→「coloerring Rules…」を選択すると色の選択と確認ができます。
キャプチャフィルタを使う
Wiresharkを起動時に、以下の画面が表示されます。
例えば、「HTTP TCP port(80):tcp port http」を選択すると、「HTTP TCP port(80):tcp port http」に絞ったキャプチャーをみることができます。
独学で通信監視を勉強するために
ホームページの運用やメールの運用などをしている際に、パケットキャプチャーを取っておくと、一連の通信の流れが見えるので非常に便利です。
ネットワーク監視は、いざという時に役立ちます。
ネットワーク障害時の対応や、webサイトが攻撃を受けてしまった時など、通信の監視ログを残すことで、トラブル回避につながります。
独学でも通信の解析方法を学ぶことはできますので、一度関連書籍やネット検索で勉強してみると良いかもしれません。