「Wireshark」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(en:Wiresharkへの転送ページ)
 
(→‎キャプチャのテクニック: 英語版より記事を追加)
(5人の利用者による、間の12版が非表示)
1行目: 1行目:
  +
[[Category:セキュリティ]]
#redirect[[en:Wireshark]]
 
  +
[[Category:ネットワーク]]
  +
[[en:Wireshark]]
  +
[[fr:Wireshark]]
  +
[[ru:Wireshark]]
  +
[[zh-hans:Wireshark]]
  +
Wireshark はフリーでオープンソースのパケットアナライザです。ネットワークのトラブルシューティングや解析、ソフトウェアと通信プロトコルの開発、または教育などに使われています。
  +
  +
==インストール==
  +
  +
Wireshark GUI の場合は {{Pkg|wireshark-qt}} パッケージを[[インストール]]し、tshark CLIの場合は {{Pkg|wireshark-cli}} を[[インストール]]します。
  +
  +
== 特権の取得 ==
  +
  +
Wireshark を root で実行しないでください。Wireshark は特権分離を実装しています。つまり、Wireshark GUI(または tshark CLI)は通常のユーザとして動作し、dumpcap キャプチャユーティリティは root[https://gitlab.com/wireshark/wireshark/-/wikis/CaptureSetup/CapturePrivileges#most-unixes] として動作します。
  +
  +
{{Pkg|wireshark-cli}} [[PKGBUILD#install|インストールスクリプト]] は、{{ic|/usr/bin/dumpcap}} 実行ファイルにパケットキャプチャ[[ケイパビリティ]]を設定します。
  +
  +
{{ic|/usr/bin/dumpcap}} は root と {{ic|wireshark}} グループのメンバーしか実行できないので、通常のユーザーとして Wireshark を使用するには、自分のユーザーを wireshark [[ユーザーとグループ#グループ管理|ユーザーグループ]]に追加する必要があります([[ユーザーとグループ#グループ管理]] を参照)。
  +
  +
==キャプチャのテクニック==
  +
  +
フィルターを適用することで Wireshark で見たいパケットだけをキャプチャすることが可能です。
  +
  +
{{Note|フィルターの構文については、{{man|7|pcap-filter}} や {{man|4|wireshark-filter}} の man ページを見て下さい。}}
  +
  +
===TCP パケットを抽出===
  +
TCP パケットを全て閲覧したい場合、"Filter" バーに {{ic|tcp}} と入力してください。もしくは CLI 版の場合:
  +
$ tshark -f "tcp"
  +
  +
===UDP パケットを抽出===
  +
UDP パケットを全て閲覧したい場合、"Filter" バーに {{ic|udp}} と入力してください。もしくは CLI 版の場合:
  +
$ tshark -f "udp"
  +
  +
===特定の IP アドレスのパケットを抽出===
  +
* 特定のアドレスに送信されるトラフィックを全て閲覧したい場合、{{ic|<nowiki>ip.dst == 1.2.3.4</nowiki>}} と入力してください。{{ic|1.2.3.4}} はトラフィックの送信先の IP アドレスに置き換えて下さい。
  +
  +
* 特定のアドレスから送られたトラフィックを全て閲覧したい場合、{{ic|<nowiki>ip.src == 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 アドレスに置き換えて下さい。
  +
  +
=== Exclude packets from a specific IP address ===
  +
  +
ip.addr != 1.2.3.4
  +
  +
=== Filter packets to 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)
  +
  +
This will filter traffic within any of the private network spaces.
  +
  +
=== Filter packets by port ===
  +
  +
See all traffic on two ports or more:
  +
  +
tcp.port==80||tcp.port==3306
  +
tcp.port==80||tcp.port==3306||tcp.port==443

2021年1月31日 (日) 15:10時点における版

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

インストール

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

特権の取得

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 アドレスに置き換えて下さい。

Exclude packets from a specific IP address

ip.addr != 1.2.3.4

Filter packets to 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)

This will filter traffic within any of the private network spaces.

Filter packets by port

See all traffic on two ports or more:

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