「Wireshark」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(en:Wiresharkへの転送ページ)
 
(Wireshark GTK Client 開発終了)
(3人の利用者による、間の7版が非表示)
1行目: 1行目:
  +
[[Category:セキュリティ]]
#redirect[[en:Wireshark]]
 
  +
[[Category:ネットワーク]]
  +
[[en:Wireshark]]
  +
[[fr:Wireshark]]
  +
[[ru:Wireshark]]
  +
[[zh-hans:Wireshark]]
  +
Wireshark はフリーでオープンソースのパケットアナライザです。ネットワークのトラブルシューティングや解析、ソフトウェアと通信プロトコルの開発、または教育などに使われています。元の名前は Ethereal で、2006年5月に商標の問題を回避するために Wireshark にプロジェクトの名前が変更されました。
  +
  +
==インストール==
  +
  +
wireshark のパッケージは CLI バージョン {{ic|tshark}} と Qt フロントエンド {{ic|wireshark}} に分割されています。フロントエンドは CLI に依存しています。
  +
  +
* CLI バージョン (tshark) - {{Pkg|wireshark-cli}} パッケージで[[インストール]]できます。
  +
* Qt フロントエンド (wireshark) - {{Pkg|wireshark-qt}} パッケージで[[インストール]]できます。
  +
  +
== 通常ユーザーでキャプチャ ==
  +
  +
root で Wireshark を実行するのは危険です。
  +
  +
Arch Linux は [https://wiki.wireshark.org/CaptureSetup/CapturePrivileges#Other_Linux_based_systems_or_other_installation_methods Wireshark wiki の方法] にそって権限を分けています。{{Pkg|wireshark-cli}} のインストール時に、[[PKGBUILD#install|install スクリプト]]によって {{ic|/usr/bin/dumpcap}} に[[ケイパビリティ]]が設定されます。
  +
  +
{{hc|$ getcap /usr/bin/dumpcap|2=
  +
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip
  +
}}
  +
  +
{{ic|/usr/bin/dumpcap}} だけがパケットをキャプチャできるプロセスになります。{{ic|/usr/bin/dumpcap}} は root と {{ic|wireshark}} グループのメンバーだけが実行することが可能です。
  +
  +
通常ユーザーでキャプチャする方法は2つあります:
  +
=== wireshark グループにユーザーを追加===
  +
wireshark を通常ユーザーで使うために、ユーザーを wireshark グループに追加します:
  +
  +
{{bc|# gpasswd -a ''username'' wireshark}}
  +
  +
wireshark を起動する前に次のコマンドを実行することで、ログインしなおすことなくセッションに新しいグループを適用することができます:
  +
{{bc|$ newgrp wireshark}}
  +
  +
=== sudo を使う ===
  +
[[sudo]] を使うことで一時的にグループを {{ic|wireshark}} に変更できます。以下の設定をすることで、wheel グループのユーザーが GID が wireshark に設定されたプログラムを実行できるようになります:
  +
  +
{{bc|1=%wheel ALL=(:wireshark) /usr/bin/wireshark, /usr/bin/tshark}}
  +
  +
wireshark は次のコマンドで実行します:
  +
{{bc|$ sudo -g 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 アドレスに置き換えて下さい。

2019年8月10日 (土) 22:02時点における版

Wireshark はフリーでオープンソースのパケットアナライザです。ネットワークのトラブルシューティングや解析、ソフトウェアと通信プロトコルの開発、または教育などに使われています。元の名前は Ethereal で、2006年5月に商標の問題を回避するために Wireshark にプロジェクトの名前が変更されました。

インストール

wireshark のパッケージは CLI バージョン tshark と Qt フロントエンド wireshark に分割されています。フロントエンドは CLI に依存しています。

通常ユーザーでキャプチャ

root で Wireshark を実行するのは危険です。

Arch Linux は Wireshark wiki の方法 にそって権限を分けています。wireshark-cli のインストール時に、install スクリプトによって /usr/bin/dumpcapケイパビリティが設定されます。

$ getcap /usr/bin/dumpcap
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip

/usr/bin/dumpcap だけがパケットをキャプチャできるプロセスになります。/usr/bin/dumpcap は root と wireshark グループのメンバーだけが実行することが可能です。

通常ユーザーでキャプチャする方法は2つあります:

wireshark グループにユーザーを追加

wireshark を通常ユーザーで使うために、ユーザーを wireshark グループに追加します:

# gpasswd -a username wireshark

wireshark を起動する前に次のコマンドを実行することで、ログインしなおすことなくセッションに新しいグループを適用することができます:

$ newgrp wireshark

sudo を使う

sudo を使うことで一時的にグループを wireshark に変更できます。以下の設定をすることで、wheel グループのユーザーが GID が wireshark に設定されたプログラムを実行できるようになります:

%wheel ALL=(:wireshark) /usr/bin/wireshark, /usr/bin/tshark

wireshark は次のコマンドで実行します:

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