「Wireshark」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎Filter packets by port: add === Headless capturing with dumpcap ===)
(→‎インストール: 序文を更新)
 
(同じ利用者による、間の7版が非表示)
9行目: 9行目:
 
==インストール==
 
==インストール==
   
Wireshark GUI の場合は {{Pkg|wireshark-qt}} パッケージを[[インストール]]し、tshark CLIの場合は {{Pkg|wireshark-cli}} を[[インストール]]します。
+
Wireshark GUI の場合は {{Pkg|wireshark-qt}} パッケージを[[インストール]]し、{{man|1|tshark}} CLIの場合は {{Pkg|wireshark-cli}} を[[インストール]]します。
  +
  +
{{Note|非推奨の GTK インターフェースは Wireshark 3.0 で削除されました。}}
  +
  +
{{Pkg|termshark}} は代替のターミナル UI です。
   
 
== 特権の取得 ==
 
== 特権の取得 ==
40行目: 44行目:
 
* 特定のアドレスから送受信されるトラフィックを全て閲覧したい場合、{{ic|<nowiki>ip.addr == 1.2.3.4</nowiki>}} と入力してください。{{ic|1.2.3.4}} は適当な IP アドレスに置き換えて下さい。
 
* 特定のアドレスから送受信されるトラフィックを全て閲覧したい場合、{{ic|<nowiki>ip.addr == 1.2.3.4</nowiki>}} と入力してください。{{ic|1.2.3.4}} は適当な IP アドレスに置き換えて下さい。
   
  +
=== 特定の IP アドレスのパケットを除外 ===
=== Exclude packets from a specific IP address ===
 
   
 
ip.addr != 1.2.3.4
 
ip.addr != 1.2.3.4
   
=== Filter packets to LAN ===
+
=== LAN へのパケットを抽出 ===
   
  +
LAN トラフィックのみを表示し、インターネットトラフィックを表示しないようにするには、以下のように実行します。
To only see LAN traffic, no internet traffic run
 
   
 
(ip.src==10.0.0/8 AND ip.dst==10.0.0/8) OR (ip.src==172.16.0.0/12 AND ip.dst==172.16.0.0/12) OR (ip.src==192.168.0.0/16 and ip.dst==192.168.0.0/16)
 
(ip.src==10.0.0/8 AND ip.dst==10.0.0/8) OR (ip.src==172.16.0.0/12 AND ip.dst==172.16.0.0/12) OR (ip.src==192.168.0.0/16 and ip.dst==192.168.0.0/16)
   
  +
これにより、任意のフライベートネットワークスペース内のトラフィックが抽出フィルタされます。
This will filter traffic within any of the private network spaces.
 
   
  +
=== ポート毎にパケットを抽出 ===
=== Filter packets by port ===
 
   
  +
2 つ以上のポートのすべてのトラフィックを表示:
See all traffic on two ports or more:
 
   
 
tcp.port==80||tcp.port==3306
 
tcp.port==80||tcp.port==3306
 
tcp.port==80||tcp.port==3306||tcp.port==443
 
tcp.port==80||tcp.port==3306||tcp.port==443
   
  +
=== dumpcap によるヘッドレスキャプチャ ===
=== Headless capturing with dumpcap ===
 
   
  +
''dumpcap'' は Wireshark の一部であり、GUI を使用せずにパケットをキャプチャするために使用できます。 [[tmux]] と組み合わせて使用​​すると、切り離されたセッションでパケットをキャプチャできるようになります。
''dumpcap'' is part of Wireshark and can be used for capturing packets without the GUI. Used in combination with [[tmux]] will allow the capture of packets in a detached session.
 
   
  +
すべての dumpcap オプションを表示するには、{{ic|-h}} フラグを使用します。
To see all dumpcap options, use the {{ic|-h}} flag.
 
   
  +
次の例では、リングバッファのキャプチャを提供します。それぞれ 100MB の 20 個の {{ic|.pcap}} ファイルをキャプチャし、最も古いファイルを 21 番目のファイルに置き換えるというように続きます。これにより、ディスク容量を使い果たすことなく継続的にキャプチャを行うことができます。
The following example will provide a ringbuffer capture. It captures twenty {{ic|.pcap}} files of 100MB each, replacing the oldest file with the twenty-first file and so on… This allows a continuous capture without exhausting disk space.
 
   
 
# dumpcap -i 1 -b filesize:100000 -b files:20 -w ''mycapture''.pcapng
 
# dumpcap -i 1 -b filesize:100000 -b files:20 -w ''mycapture''.pcapng

2023年7月19日 (水) 10:47時点における最新版

Wireshark はフリーでオープンソースのパケットアナライザです。ネットワークのトラブルシューティングや解析、ソフトウェアと通信プロトコルの開発、または教育などに使われています。

インストール

Wireshark GUI の場合は wireshark-qt パッケージをインストールし、tshark(1) CLIの場合は wireshark-cliインストールします。

ノート: 非推奨の GTK インターフェースは Wireshark 3.0 で削除されました。

termshark は代替のターミナル UI です。

特権の取得

Wireshark を root で実行しないでください。Wireshark は特権分離を実装しています。つまり、Wireshark GUI(または tshark CLI)は通常のユーザとして動作し、dumpcap キャプチャユーティリティは root[1] として動作します。

wireshark-cli インストールスクリプト は、/usr/bin/dumpcap 実行ファイルにパケットキャプチャケイパビリティを設定します。

/usr/bin/dumpcap は root と wireshark グループのメンバーしか実行できないので、通常のユーザーとして Wireshark を使用するには、自分のユーザーを wireshark ユーザーグループに追加する必要があります(ユーザーとグループ#グループ管理 を参照)。

キャプチャのテクニック

フィルターを適用することで Wireshark で見たいパケットだけをキャプチャすることが可能です。

ノート: フィルターの構文については、pcap-filter(7)wireshark-filter(4) の man ページを見て下さい。

TCP パケットを抽出

TCP パケットを全て閲覧したい場合、"Filter" バーに tcp と入力してください。もしくは CLI 版の場合:

$ tshark -f "tcp"

UDP パケットを抽出

UDP パケットを全て閲覧したい場合、"Filter" バーに udp と入力してください。もしくは CLI 版の場合:

$ tshark -f "udp"

特定の IP アドレスのパケットを抽出

  • 特定のアドレスに送信されるトラフィックを全て閲覧したい場合、ip.dst == 1.2.3.4 と入力してください。1.2.3.4 はトラフィックの送信先の IP アドレスに置き換えて下さい。
  • 特定のアドレスから送られたトラフィックを全て閲覧したい場合、ip.src == 1.2.3.4 と入力してください。1.2.3.4 はトラフィックの送信元の IP アドレスに置き換えて下さい。
  • 特定のアドレスから送受信されるトラフィックを全て閲覧したい場合、ip.addr == 1.2.3.4 と入力してください。1.2.3.4 は適当な IP アドレスに置き換えて下さい。

特定の IP アドレスのパケットを除外

ip.addr != 1.2.3.4

LAN へのパケットを抽出

LAN トラフィックのみを表示し、インターネットトラフィックを表示しないようにするには、以下のように実行します。

(ip.src==10.0.0/8 AND ip.dst==10.0.0/8) OR (ip.src==172.16.0.0/12 AND ip.dst==172.16.0.0/12) OR (ip.src==192.168.0.0/16 and ip.dst==192.168.0.0/16)

これにより、任意のフライベートネットワークスペース内のトラフィックが抽出フィルタされます。

ポート毎にパケットを抽出

2 つ以上のポートのすべてのトラフィックを表示:

tcp.port==80||tcp.port==3306
tcp.port==80||tcp.port==3306||tcp.port==443

dumpcap によるヘッドレスキャプチャ

dumpcap は Wireshark の一部であり、GUI を使用せずにパケットをキャプチャするために使用できます。 tmux と組み合わせて使用​​すると、切り離されたセッションでパケットをキャプチャできるようになります。

すべての dumpcap オプションを表示するには、-h フラグを使用します。

次の例では、リングバッファのキャプチャを提供します。それぞれ 100MB の 20 個の .pcap ファイルをキャプチャし、最も古いファイルを 21 番目のファイルに置き換えるというように続きます。これにより、ディスク容量を使い果たすことなく継続的にキャプチャを行うことができます。

# dumpcap -i 1 -b filesize:100000 -b files:20 -w mycapture.pcapng
  • -i − interface number (listed from dumpcap -D)
  • -b filesize: − file size in kB before starting a new .pcap file
  • -b files: − the number of files to capture before overwriting the oldest
  • -w − write the output to the file mycaptureidentifier.pcapng