LoginSignup
6
7

超初心者向けWiresharkの使い方

Posted at

Wiresharkとは?

Wiresharkは、ネットワーク上のデータトラフィックをキャプチャし、詳細に解析することができます。通信がどのように行われているか、どのようなデータがやり取りされているかを理解する上で、Wiresharkはとても役に立ちます。

キャプチャするもの

今回はhttpのパケットの中身を確認するまでの手順を説明していきます。
httpsでもパケットのキャプチャをする方法はあるのですが、手順が複雑なので今回は対象外にします。

Wiresharkの基本操作

インストールと設定

Wiresharkは公式サイトからダウンロードできます。インストール後、基本的な設定を行いましょう。

基本的なインターフェースの説明

Wiresharkを開くと、利用可能なネットワークインターフェースのリストが表示されます。
ここからキャプチャしたいインターフェースを選択してキャプチャを開始できます。
例えばlocalhostに対するリクエストをキャプチャしたい場合はLoopbackを選択します。
今回私はインターネットへの接続をキャプチャするのでWifi: en0を選択します。

image.png

パケットキャプチャの開始方法

キャプチャを開始するには、インターフェースを選択し、「キャプチャの開始」ボタンをクリックします。
すると選択したインターフェースで行われているパケットの一覧が表示されます。

image.png

それぞれの列はざっくり以下が記載されています。

列名 説明 用途
No. 各パケットに自動的に割り当てられる連番。 パケットの追跡や参照に使用。
Time キャプチャが開始されてからの相対時間。 イベント発生のタイミングやトラフィックの流れを分析する際に使用。
Source パケットの送信元のアドレス(IPまたはMACアドレス)。 どのデバイスやネットワークがパケットを送信しているかを特定。
Destination パケットの宛先のアドレス。 どのデバイスやネットワークがパケットを受信する予定かを特定。
Protocol キャプチャされたパケットのプロトコル。 ネットワーク上で使用されているプロトコルの種類を把握。
Length パケットのサイズ(バイト数)。 トラフィックの量やパケットサイズの分布を分析する際に利用。
Info パケットに関する追加情報。 パケットの内容や特徴を簡単に把握するために使用。

パケットのフィルタリング

標準的なフィルタリングコマンド

今のままではさまざまな通信がキャプチャされていて、どれがどれだかよくわからなくなっています。

そんな時のためにWiresharkでは、特定のプロトコルやIPアドレスに対するフィルタリングが可能です。例えば、tcp.port == 80 はTCPポート80のトラフィックをフィルタリングします。

image.png

よく使うフィルタリングの例

複合的なフィルタリング条件も設定できます。例えば、ip.src == 192.168.0.1 && tcp は特定のIPアドレスからのTCPトラフィックを、http.host == "foo.com"は特定のドメインのからのTCPトラフィックをフィルタします。

実際にtcp.port == 80 && http.host == "apiv3.iucnredlist.org"でフィルタを設定すると条件以外のパケットは表示されなくなります。

image.png

パケットデータの分析

パケットの詳細な調査方法

パケットをクリックすると、その詳細な内容を確認できます。

image.png

今回はhttpで利用できる利用できるAPIサービスREDLISTを試しにPOSTMANで呼び出してリクエスト/レスポンスを見てみようと思います。
またキャプチャされているデータというのがわかりやすいように今回はヘッダーにhogehoge: fugafugaを入れています。

image.png

リクエストするとWireshark上に1行増えているので、中身を確認すると、Postmanで指定したヘッダーが確認できます🎉
image.png

終わりに

最近はパケットキャプチャしたい場面がなかったので、めっきり使わなくなっていましたが、久々に使ってみるとやっぱ便利ツールだなーと思いました。
使い方を覚えていて損はないと思うので、ぜひ使ってみてください。
ちなみに自分はこれが良書だと思ってます。

いつかWireshark応用編を書こうと思います。

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7