Wiresharkとは
Wiresharkとは、どのような通信(パケット)が送受信されているか確認するためのパケットキャプチャツールです。
障害が発生した場合に、正常に通信が届いているか確認して、ネットワーク障害かどうか判断する際によく使用します。
また、ウイルス感染の疑いがある機器から不審なIPアドレスに通信されていないか確認するなどセキュリティインシデント調査でも利用できます。
Wiresharkには様々な機能がありますが、代表的な機能は以下の通りです。
- パケットの表示フィルタ機能
- 特定のセッションを抽出して表示する機能(〇〇〇 Follow Stream)
Wiresharkのインストール及び起動手順
(1) ブラウザを起動して、「Wiresharkのダウンロードサイト」にアクセスします。
(2) ダウンロードするバージョンのインストーラ(Wireshark-win64-x.x.x.exe)をクリックします。2021年10月時点の最新バージョン(3.4.8)の「Wireshark Installer (64-bits)」をクリックします。
(3) ダウンロードしたファイルがウイルスかどうか確認するために、以下のVirusTotalのサイトにアクセスします。
https://www.virustotal.com/gui/
その後、「FILE」をクリック後、「Choose file」をクリックして、ウイルスかどうか確認するファイルを選択します。
(5) 左上にウイルスと判断した会社数が表示されます。下部にそれぞれの会社ごとの判定結果が表示されます。何も検知されていないことを確認します。
(6) ダウンロードしたWinSCPのインストーラ(Wireshark-win64-x.x.x.exe)を実行します。
(7) 「Next」をクリックします。
(8) 許諾書の内容を確認して、「Noted」をクリックします。
(9) インストールするコンポーネントにチェックを付けて、「Next」をクリックします。今回はデフォルトのままにします。
(10) 作成するショートカットにチェックを付けて、「Next」をクリックします。今回はデフォルトのままにします。
(11) インストールフォルダを入力して、「Next」をクリックします。今回はデフォルトのままにします。
(12) Npcapをインストールするかどうかチェックを付けて、「Next」をクリックします。今回はインストールするため、「Install Npcap」にチェックを付けます。
(13) USBPcapをインストールするかどうかチェックを付けて、「Next」をクリックします。今回はインストールしないため、「Install USBPcap」にチェックを外します。
(14) Npcapのインストールのポップアップが表示されるため、同意書の内容を確認して、「I Agree」をクリックします。
(15) インストールオプションはデフォルトのまま「Install」をクリックします。
(16) Npcapのインストールが完了したら。「Next」をクリックします。
(17) 「Finish」をクリックします。
(18) Wiresharkのインストールが完了したら、「Next」をクリックします。
(19) 「Finish」をクリックします。
(20) スタートメニューのプログラムから「WinMerge」を実行します。パケットを取得するインターフェイスをクリックします。
(20) パケットの取得が開始されます。
参考情報:Wiresharkのパケットの表示フィルタ
パケットを取得すると大量のデータが収集及び表示されるため、必要なパケットを探すのが大変です。
そのため、Wiresharkでは表示フィルタを設定することができます。
以下の赤枠のように上部のテキストボックスに表示フィルタの条件を設定できます。
使用頻度が高い表示フィルタの条件は以下の通りです。
【プロトコル】
書式 | 設定例 | 書式の説明 |
---|---|---|
tcp | tcp | TCPプロトコルのパケットのみ表示 |
udp | udp | UDPプロトコルのパケットのみ表示 |
icmp | icmp | ICMPプロトコルのパケットのみ表示 |
bootp | bootp | DHCPプロトコルのパケットのみ表示 |
ssl | ssl | HTTPSプロトコルのパケットのみ表示 |
【IPアドレス】
書式 | 設定例 | 書式の説明 |
---|---|---|
ip.src | ip.src==192.168.5.2 | 送信元IPアドレスを指定して表示 |
ip.src | ip.src==192.168.5.0/24 | 送信元ネットワークを指定して表示 |
ip.dst | ip.dst==192.168.5.5 | 送信先IPアドレスを指定して表示 |
ip.dst | ip.dst==192.168.5.0/24 | 送信先ネットワークを指定して表示 |
【ポート番号】
書式 | 設定例 | 書式の説明 |
---|---|---|
tcp.port | tcp.port==80 | TCPのパケットのポート番号を指定して表示 |
udp.port | udp.port==53 | UDPのパケットのポート番号を指定して表示 |
tcp.dstport | tcp.dstport==443 | TCPで送信元のポート番号を指定して表示 |
udp.srcport | udp.srcport>=1024 | UDPで宛先のポート番号を指定して表示 |
【時間】
書式 | 設定例 | 書式の説明 |
---|---|---|
frame.time | frame.time > “Nov 28, 2018 0:20:00.0000” | 時間を指定して表示 |
【演算子】
書式 | 設定例 | 書式の説明 |
---|---|---|
eq == | tcp.dstport eq 80 tcp.dstport==80 | 演算子のイコール(同じ) |
ne != | tcp.dstport ne 80 tcp.dstport!=80 | 演算子のノットイコール(異なる) |
gt > | tcp.dstport gt 1023 tcp.dstport>1023 | 演算子の大なり(より大きい) |
lt < | tcp.dstport lt 1024 tcp.dstport<1024 | 演算子の小なり(より小さい) |
ge >= | tcp.dstport ge 1024 tcp.dstport>=1024 | 演算子の以上 |
le <= | tcp.dstport le 1023 tcp.dstport<=1023 | 演算子の以下 |
【論理式】
書式 | 設定例 | 書式の説明 |
---|---|---|
and && | (tcp.dstport eq 443) and (ip.src==192.168.4.3) (tcp.dstport eq 443) && (ip.src==192.168.4.3) | または(OS条件) |
or || | (tcp.dstport==80) or (tcp.dstport==443) (tcp.dstport==80) || (tcp.dstport==443) | かつ(AND条件) |
not ! | not tcp !tcp | ではない(NOT条件) |
参考情報:Wiresharkの特定のセッションを抽出して表示
一つのセッションで大量のデータを送る場合、パケットを分割して送られます。
Wiresharkでは、特定のセッションを抽出してデータの内容を表示させることができます。
その機能のことを「Follow TCP Stream」や「Follow Stream」といいます。
以下の手順で表示させることができます。
(1) 表示するパケットを右クリックで選択して、「追跡」-「〇〇〇ストリーム」をクリックします。
(2) ポップアップでセッションの内容を確認できます。
Wiresharkに関する書籍
Wiresharkの画面や詳しい使い方を知りたい場合は、以下の書籍をご確認ください。