「Wireshark」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→Filter packets by port: add === Headless capturing with dumpcap ===) |
Kusanaginoturugi (トーク | 投稿記録) (→インストール: 序文を更新) |
||
(同じ利用者による、間の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 |
||
− | === |
+ | === 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 をインストールします。
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 で見たいパケットだけをキャプチャすることが可能です。
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 fromdumpcap -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 filemycaptureidentifier.pcapng