Help us understand the problem. What is going on with this article?

パケット解析で役立つWiresharkの機能

More than 1 year has passed since last update.

書籍「実践パケット解析」の中で役立つと感じた箇所をピックアップしています。

便利な機能たち

  • 統計[Statistics] -> 対話[Conversation]
  • 統計[Statistics] -> 終端[EndPoint]
  • 統計[Statistics] -> プロトコル階層[Protocol Hierarchy]

wiresharkFunctions

対話[Conversation]

IPアドレスとポートごとに分類して一覧表示されます。ここでは「どこから、どこへ向けて、どれだけの量のパケットが送られているか」を把握することが出来ます。

Conversation

グラフ

IOグラフ

変化が多いと不安定であることが伺えます。

ioGraph

ズームして細かく確認したいグラフの箇所をクリックすることで、パケット一覧の該当する箇所付近が選択されます。

ラウンドトリップタイムグラフ

ラウンドトリップグラフ(RTT)とは、「パケットの受信が確認されるまでにかかる時間」を表します。つまり、パケットが宛先に届き、その返答が自分に戻ってくるのにかかった時間のことです。

Statistics -> TCP Stream Graph -> Round Trip Time Graph

RTT

フローグラフ

Statistic -> Flow Graph

flowGraph

自動解析されたプロトコルが異なるとき

個別のパケットを選択してDecode as -> Transportで任意のプロトコルを選択する。

パケット長

  • イーサネットの最大フレームサイズ 1518バイト
  • これからイーサネット、IP、TCP HEADERを差し引いた1460バイトが7層のプロトコルヘッダ、データに使用可能

パケットのマーキング

  • マーキング: Ctrl + M
  • 次のマーキング: Shift + Ctrl + N
  • 前のマーキング: Shift + Ctrl + B

キャプチャ/BPF構文

BPF構文を使って作成したフィルタを「式」と予備、それぞれの四季は1つ以上の「プリミティブ」で構成されている。プリミティブは1つ以上の「修飾子」とそのあとに続くID文字列または数値のセットから構成される。

修飾子の種類

  • Type(host, net, port)
  • Dir(src, dst)
  • Proto(ether, ip, tcp, udp, http,ftp)

dst host 192.168.0.10 && tcp port 80

論理演算子

  • AND(&&)
  • OR(||)
  • NOT(!)

ホスト名とアドレスによるフィルタ

IPv4の場合

host 172.16.16.149

IPv6の場合

host 2001:db8:85a3:8a2e:370:7334

ホスト名

host testserver2

Macアドレスでも指定可能

src host 00-1a-a0-52-e2

ポートとプロトコルによるフィルタ

ポート8080

port 8080

宛先がポート8080

dst port 8080

IPv6を除外

!ip6

プロトコルフィールドによるフィルタ

到達不能のメッセージ(タイプ3)

icmp[0] == 3

Pingパケット(ICMP)

icmp[0] == 8 || icmp[0] == 0

ICMPのタイプ3、コード1(ホスト到達不能)パケット

icmp[0:2] == 0x0301

RSTフラグがセットされたTCPパケット

tcp[13] &4 == 4

よく使うフィルタ

フラグがセットされた TCPパケット

tcp[13] &XXX == XXX

  • URG: XXX=32
  • ACK: XXX=16
  • PSH: XXX=8
  • RST: XXX=4
  • SYN: XXX=2
  • FIN: XXX=1

TCP SYN-ACKパケット

tcp[13] == 18

指定したMacアドレスで送受信されるトラフィック

ether host 00:00:00:00:00:00

ブロードキャストパケット

broadcast

フィルタ式の文法

演算子

  • 等しい ==
  • 等しくない !=
  • 大なり >
  • 小なり <
  • 以上 >=
  • 以下<=

論理演算子

  • and 論理和
  • or 論理積
  • not 排他的論理和
  • xor 否定

ポート

  • 1-1023 スタンダードポートグループ
  • 0は予約済みなので除外
  • 1024-65535 エフェメラルポートグループ(日本ではウェルノウンポート)

Copyright (c) 2017 Tomoyuki KOYAMA
Released under the MIT license
http://opensource.org/licenses/mit-license.php

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした