Wireshark でキャプチャデータを見るときは、膨大なパケットの中から条件に合うパケットだけを取り出してから解析することがよくあります。Wireshark の表示フィルタを使うと、プロトコルやフィールドの値を条件に、表示するパケットを絞り込めます。
この記事では、よく使う表示フィルタの条件と、解析に便利な列(カラム)のカスタマイズをまとめます。
- パケットの詳細から列を追加する方法と、表示フィルタの入れ方
- AND・OR・否定の組み合わせ方
- MAC/IP アドレス、ARP、ICMP、TCP、UDP のフィルタ
- DNS、HTTP、TLS のフィルタと、応答時間や接続先を見る列
表示フィルタは、キャプチャしたデータのうち表示するパケットを絞り込むもので、キャプチャデータそのものは変わりません。キャプチャするパケットを絞り込むキャプチャフィルタとは書き方が違います。キャプチャフィルタは 【Wireshark】キャプチャ取得するパケットをフィルタする を参照してください。
表示カラムの変更
既定では、パケット一覧の列は No.、Time、Source、Destination、Protocol、Length、Info です。この列はカスタマイズできます。
たとえば、TCP の送信元ポートを列に追加するとします。パケットの詳細で列にしたいフィールドを右クリックし、Apply as Column をクリックします。
この記事の画面は、実際の画面ではなく、検証時の画面から見るポイントを抜き出して描いたイメージです。検証時の画面は英語表示です。バージョンによって、項目の並びや表記は変わります。
▾ Transmission Control Protocol, Src Port: 443, Dst Port: 49348, Seq: 1, Ack: 1, Len: 1471 Source Port: 443 Destination Port: 49348 [Stream index: 0] [TCP Segment Len: 147]
| 右クリックメニュー |
|---|
| Expand Subtrees / Collapse Subtrees / Expand All / Collapse All |
| 2Apply as Column |
| Apply as Filter › |
| Prepare as Filter › |
| No. | Time | Source | Destination | Protocol | Length | Source Port | Info |
|---|---|---|---|---|---|---|---|
| 1 | 0.000000 | (伏せています) | (伏せています) | TLSv1.2 | 213 | 3443 | Application Data |
| No. | 操作・表示 | 内容 |
|---|---|---|
| 1 | Source Port: 443 | 列にしたいフィールドを選んで右クリックします |
| 2 | Apply as Column | 選んだフィールドが列として追加されます |
| 3 | Source Port 列 | 追加された列。列の見出しをドラッグ&ドロップすると、位置を変えられます |
以降のフィルタの例では、フィルタの対象にしたフィールドを列に追加して確認しています。
表示フィルタは、パケット一覧の上にある表示フィルタのツールバーに条件を入力し、Enter キーで適用します。正しい構文なら入力欄の背景が緑になります。
| No. | Protocol | Length | Info |
|---|---|---|---|
| 1 | TCP | 54 | 443 → 49622 [ACK] Seq=1 Ack=1 Win=67 … |
| 2 | TCP | 54 | [TCP ACKed unseen segment] 49622 → 443 … |
| 3 | UDP | 246 | 62324 → 443 Len=204 |
| 4 | UDP | 69 | 443 → 62324 Len=27 |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | 緑の入力欄 | 表示フィルタとして正しい構文です。誤りがあると赤になります |
組み合わせ・除外条件
例の IP アドレスや MAC アドレスは、説明用の値にしています。
AND条件( && )
複数の条件を AND(かつ)でつなぐには &&(または and)を使います。送信元 IP アドレスが 192.168.1.10 で、かつ TCP の宛先ポートが 443 のパケットを表示する場合は次のように書きます。
(ip.src == 192.168.1.10) && (tcp.dstport == 443)
OR条件( || )
複数の条件を OR(または)でつなぐには ||(または or)を使います。送信元 IP アドレスが 192.168.1.10、もしくは TCP の宛先ポートが 443 のパケットを表示する場合は次のように書きます。
(ip.src == 192.168.1.10) || (tcp.dstport == 443)
除外( ! )
特定の条件を除外したいときは、条件の前に !(または not)を付けます。送信元 IP アドレスが 192.168.1.10 でないパケットを表示する場合は次のように書きます。
!(ip.src == 192.168.1.10)
- 比較には
==(eq)、!=(ne)、>(gt)、<(lt)、>=(ge)、<=(le)、contains、matchesが使えます。 !=の意味は Wireshark 3.6 で変わりました。3.6 より前の版でip.addr != 192.168.1.10と書くと、送信元か宛先のどちらかが違えば表示されてしまうので、除外には!(ip.addr == 192.168.1.10)の書き方が確実です。- 複数の値のどれかに一致するものは、
tcp.port in {80, 443, 8080}のようにinで書けます。
MACアドレス
| フィルタ | 表示されるパケット |
|---|---|
| eth.addr == 00:00:5e:00:53:01 | 送信元か宛先の MAC アドレスが 00:00:5e:00:53:01 |
| eth.src == 00:00:5e:00:53:01 | 送信元の MAC アドレスが 00:00:5e:00:53:01 |
| eth.dst == 00:00:5e:00:53:01 | 宛先の MAC アドレスが 00:00:5e:00:53:01 |
特定のベンダーのMACアドレス
MAC アドレスの先頭3バイトは、ベンダーを表す OUI です。送信元 MAC アドレスのベンダーが Apple, Inc.(6c:96:cf)のパケットを表示する場合は、送信元 MAC アドレスの先頭から3バイトを取り出して比べます。[0:3] は「0バイト目から3バイト分」という意味です。
eth.src[0:3]==6c:96:cf
宛先MACアドレスがブロードキャスト もしくは マルチキャスト(eth.ig)
MAC アドレスの最初のオクテット(1バイト目)の最下位ビットを I/G ビットといい、このビットが 1 のアドレスはブロードキャストかマルチキャストのアドレスです。I/G ビットは、MAC アドレスを書いたときの1バイト目の、2進数でいちばん右のビットにあたります。
詳細は次の記事を参考にしてください。
>> 参考記事:【マルチキャスト】MACアドレスへのマッピング
eth.ig == 1
| IG bit | eth.dst | Destination | Protocol |
|---|---|---|---|
| 1Group address (multicast/broadcast) | 33:33:00:00:00:fb | ff02::fb | MDNS |
| Group address (multicast/broadcast) | 01:00:5e:7f:ff:fa | 239.255.255.250 | SSDP |
| Group address (multicast/broadcast) | 2ff:ff:ff:ff:ff:ff | 255.255.255.255 | DB-… |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | 33:33:…、01:00:5e:… | IPv6 と IPv4 のマルチキャストの MAC アドレスです |
| 2 | ff:ff:ff:ff:ff:ff | ブロードキャストの MAC アドレスです |
eth.ig は送信元と宛先の両方のアドレスに含まれるフィールドです。Wireshark 3.2 以降では、宛先だけを見る eth.dst.ig も使えます。
宛先MACアドレスがマルチキャストのみ
宛先 MAC アドレスがマルチキャストのものだけを表示したい場合は、I/G ビットが 1 のもののうち、ブロードキャストアドレス(ff:ff:ff:ff:ff:ff)を除きます。
(eth.ig == 1) && !(eth.dst==ff:ff:ff:ff:ff:ff)
IPアドレス
アドレスを用いたフィルタ
| フィルタ | 表示されるパケット |
|---|---|
| ip.addr == 192.168.1.10 | 送信元か宛先の IP アドレスが 192.168.1.10 |
| ip.src == 192.168.1.10 | 送信元 IP アドレスが 192.168.1.10 |
| ip.dst == 192.168.1.10 | 宛先 IP アドレスが 192.168.1.10 |
| ip.addr == 172.217.0.0/19 | 送信元か宛先の IP アドレスが 172.217.0.0/19 の範囲 |
| ip.src == 172.217.0.0/19 | 送信元 IP アドレスが 172.217.0.0/19 の範囲 |
| ip.dst == 172.217.0.0/19 | 宛先 IP アドレスが 172.217.0.0/19 の範囲 |
IP アドレスのあとに /プレフィックス長 を付けると、セグメント(ネットワーク)単位で絞り込めます。
フラグを用いたフィルタ
DFビット(ip.flags.df)
IP ヘッダの DF(Don’t Fragment)ビットが立っているパケットを表示します。DF ビットが立っているパケットは、途中のルータでフラグメント(分割)できません。
ip.flags.df == 1
ARP
同じセグメントの中で、通信相手の IP アドレスから MAC アドレスを調べるのに ARP(Address Resolution Protocol)を使います。ARP にはリクエストとリプライがあります。詳細は次の記事を参考にしてください。
>> 参考記事:初心者向けARP解説:仕組みをCiscoルータでわかりやすく解説
| フィルタ | 表示されるパケット |
|---|---|
| arp | ARP 全般(リクエストとリプライ) |
| arp.opcode == 1 | ARP リクエスト |
| arp.opcode == 2 | ARP リプライ |
ICMP
ICMP(Internet Control Message Protocol)は、ネットワークの診断やエラーの通知に使うプロトコルです。ICMP のメッセージはタイプとコードで区別します。詳細は次の記事を参考にしてください。
>> 参考記事:【初心者わかりやすく】ICMPを詳しく解説
| フィルタ | 表示されるパケット |
|---|---|
| icmp | ICMP 全般 |
| (icmp.type==8) && (icmp.code==0) | Echo Request(ping の要求) |
| (icmp.type==0) && (icmp.code==0) | Echo Reply(ping の応答) |
| (icmp.type==11) && (icmp.code==0) | Time to Live exceeded(転送中に TTL が 0 になった) |
| (icmp.type==3) && (icmp.code==4) | Fragmentation Needed and Don’t Fragment was Set(分割が必要だが DF ビットが立っている) |
TCP
TCP は、通信を始める前の3ウェイハンドシェイク、ACK による受信確認、パケットの再送などで、信頼性を確保するプロトコルです。TCP の詳細は次の記事も参考にしてください。
>> 参考記事:【初心者わかりやすく】TCP通信の確立と終了シーケンス
>> 参考記事:【トラブルシューティング】TCP状態遷移の解説
>> 参考記事:【TCP】シーケンス番号とACK番号について解説
TCP通信すべて(tcp)
tcp
ポート番号を用いたフィルタ
| フィルタ | 表示されるパケット |
|---|---|
| tcp.port == 443 | 送信元か宛先の TCP ポートが 443 |
| tcp.srcport ==443 | 送信元 TCP ポートが 443 |
| tcp.dstport == 443 | 宛先 TCP ポートが 443 |
TCPの動的ポート範囲
送信元 TCP ポートが動的ポート(エフェメラルポート)の範囲(49152〜65535)のパケットを表示する場合は、大小の比較を組み合わせます。
(tcp.srcport >= 49152) && (tcp.srcport <= 65535)
MSS(Maximum Segment Size)
MSS は、TCP ヘッダを除いたデータ部分の最大サイズです。それぞれの端末が、TCP の接続を確立するとき(SYN、SYN/ACK)に、TCP オプションで自分が受け取れる MSS を相手に伝えます。
| フィルタ | 表示されるパケット |
|---|---|
| tcp.options.mss | MSS オプションが付いているパケット |
| tcp.options.mss_val >=1460 | MSS の値が 1460 バイト以上のパケット |
フラグを用いたフィルタ
| フィルタ | 表示されるパケット |
|---|---|
| tcp.flags.syn==1 | SYN フラグが立っている(SYN、SYN/ACK) |
| tcp.flags == 0x0002 | SYN フラグだけが立っている |
| tcp.flags.syn==0 | SYN フラグが立っていない |
| tcp.flags.ack==1 | ACK フラグが立っている |
| tcp.flags==0x010 | ACK フラグだけが立っている |
| tcp.flags.ack==0 | ACK フラグが立っていない |
| tcp.flags.syn==1 && tcp.flags.ack==1 | SYN と ACK の両方が立っている(SYN/ACK) |
| tcp.flags.fin == 1 | FIN フラグが立っている |
| tcp.flags.reset == 1 | RST フラグが立っている |
tcp.flags はフラグ全体の値です。FIN が 0x001、SYN が 0x002、RST が 0x004、PSH が 0x008、ACK が 0x010 なので、「SYN だけ」「ACK だけ」のように、ほかのフラグが立っていないことまで条件にしたいときに使います。
TCPシーケンス
TCP Analysis
Wireshark は TCP のシーケンス番号と ACK 番号を追跡し、再送や順序の入れ替わりなど、注意が必要なパケットに TCP Analysis のフラグを付けます。フラグが付いたパケットをまとめて表示するには次のように書きます。
tcp.analysis.flags
| No. | Protocol | Window size | Info |
|---|---|---|---|
| 34 | TCP | 507 | [TCP Dup ACK 33#1] 443 → 52079 [ACK] … |
| 35 | TCP | 2048 | 1[TCP Out-Of-Order] 52079 → 443 [FIN, PSH, ACK] … |
| 37 | TCP | 507 | [TCP Dup ACK 36#1] 443 → 52079 [ACK] … |
| 42 | TCP | 0 | 2[TCP ZeroWindow] [TCP Keep-Alive] 52079 → 443 [ACK] … |
| 2… | TCP | 2048 | 3[TCP Window Update] 52083 → 443 [ACK] … |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | 黒地に赤字の行 | Wireshark の既定の色付けルール「Bad TCP」に当たったパケットです |
| 2 | [TCP ZeroWindow] | 受信ウィンドウ 0 を通知しているパケット |
| 3 | [TCP Window Update] | ウィンドウサイズだけが変わったパケット。問題を示すものではないので、色は付いていません |
代表的なフラグと、そのフラグだけを表示するフィルタは次のとおりです。
| フィルタ | 表示されるパケット |
|---|---|
| tcp.analysis.zero_window | TCP ZeroWindow:受信側のバッファがいっぱいで、これ以上受け取れないことを、受信ウィンドウ 0 で知らせるパケット |
| tcp.analysis.window_update | TCP Window Update:データを含まず、ウィンドウサイズだけを更新するパケット。ZeroWindow から回復して受け取れるようになったことを知らせるときにも送られます |
| tcp.analysis.duplicate_ack | TCP Dup ACK:前と同じ ACK 番号の ACK。受信側が、抜けているセグメントがあることを送信側に知らせています |
| tcp.analysis.fast_retransmission | TCP Fast Retransmission:重複 ACK を受け取った送信側が、再送タイムアウトを待たずに再送したパケット |
| tcp.analysis.retransmission | TCP Retransmission:期待した ACK が返ってこず、送信側が再送したパケット |
ZeroWindow は、ウィンドウサイズと RST フラグの条件で (tcp.window_size == 0) && (tcp.flags.reset != 1) と書くこともできます(RST のパケットはウィンドウ 0 になることがあるので除いています)。
再送や重複 ACK の仕組みは、【Wireshark】TCP解析(Retransmission/Dup ACK など) で詳しく解説しています。
TCPセグメンテーション
送信側は、MSS より大きなデータを送るとき、MSS 以下の大きさに分割(TCP セグメンテーション)して送ります。Wireshark は、分割されたセグメントを組み立て直して、上位のプロトコル(TLS など)のデータとして表示します。組み立て直したデータを含むパケットを表示するには次のように書きます。
tcp.reassembled.data
| No. | Protocol | Length | Info |
|---|---|---|---|
| 18214 | TLSv1… | 1436 | Application Data [TCP segment of a reassembled PDU] |
Transmission Control Protocol, Src Port: 443, Dst Port: 49765, Seq: 35565, Ack: 1227, Len: 13701▾ [3 Reassembled TCP Segments (2732 bytes): #18205(32), #18213(1370), #18214(1330)] [Frame: 18205, payload: 0-31 (32 bytes)] [Frame: 18213, payload: 32-1401 (1370 bytes)] [Frame: 18214, payload: 1402-2731 (1330 bytes)] [Segment count: 3]2 [Reassembled TCP length: 2732]
| No. | 表示 | 意味 |
|---|---|---|
| 1 | 3 Reassembled TCP Segments | フレーム 18205、18213、18214 の3つのセグメントを組み立てています |
| 2 | Reassembled TCP length: 2732 | 組み立てたデータは 32+1370+1330=2732 バイトです |
TCPシーケンス疑義
TCP Analysis のフラグが付いたもののうち、Window Update を除いて、シーケンス上の問題が疑われるパケットだけを表示する場合は次のように書きます。
(tcp.analysis.flags) && !(tcp.analysis.window_update)
UDP
UDP はコネクションレス型のプロトコルで、TCP のような再送による信頼性の確保はしない代わりに、軽く速く通信できます。
| フィルタ | 表示されるパケット |
|---|---|
| udp | UDP 通信すべて |
| udp.port == 53 | 送信元か宛先の UDP ポートが 53 |
| udp.srcport == 53 | 送信元 UDP ポートが 53 |
| udp.dstport == 53 | 宛先 UDP ポートが 53 |
DNS
DNS は、ホスト名と IP アドレスを相互に変換(名前解決)するプロトコルです。DNS クライアントが DNS サーバにクエリーを送り、DNS サーバが結果をレスポンスとして返します。
| フィルタ | 表示されるパケット |
|---|---|
| dns | DNS 通信すべて |
| dns.flags.response == 0 | DNS クライアントから DNS サーバへのクエリー |
| dns.flags.response == 1 | DNS サーバから DNS クライアントへのレスポンス |
トランザクションID
特定の DNS クエリーとレスポンスの組だけを表示したい場合は、Transaction ID で絞り込みます。対象の DNS クエリーの Transaction ID を右クリックし、Apply as Filter ›› Selected をクリックします。
▾ Domain Name System (query)1 Transaction ID: 0x0109 › Flags: 0x0100 Standard query Questions: 1
| 右クリックメニュー | サブメニュー |
|---|---|
| Apply as Column | |
| 2Apply as Filter › | 3Selected(Apply as Filter: dns.id == 0x0109) |
| Prepare as Filter › | Not Selected |
| Destination | Protocol | Transaction ID | Info |
|---|---|---|---|
| 8.8.8.8 | DNS | 0x0109 | Standard query 0x0109 A … |
| (伏せています) | DNS | 0x0109 | Standard query response 0x0109 … |
| No. | 操作・表示 | 内容 |
|---|---|---|
| 1 | Transaction ID: 0x0109 | 対象のクエリーの Transaction ID を右クリックします |
| 2 | Apply as Filter | 選んだフィールドの値でフィルタを作ります |
| 3 | Selected | 選んだ値と一致するパケットを表示します(Not Selected は一致しないものを表示) |
| 4 | dns.id == 0x0109 | フィルタが自動で入り、この Transaction ID のクエリーとレスポンスだけが表示されます |
DNSレスポンス内の名前
www.yahoo.co.jp についてのレスポンスを表示する場合は次のように書きます。
dns.resp.name == www.yahoo.co.jp
DNSの応答時間
通信が遅いときは、DNS のレスポンスが遅れている可能性があります。任意の DNS レスポンスの詳細にある [Time: …] を右クリックし、Apply as Column で列に追加します。クエリーに対するレスポンスまでの時間(秒)が表示されます。
| Protocol | Time(追加した列) | Info |
|---|---|---|
| DNS | 10.030888000 | Standard query response 0xf3f0 A … |
| DNS | 0.040026000 | Standard query response 0x4782 A … |
| DNS | 0.041692000 | Standard query response 0xfd33 AAAA … |
| DNS | 0.023855000 | Standard query response 0x8486 A … |
| DNS | 20.024053000 | Standard query response 0x0109 A www.yahoo.co.jp CNAME … |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | Time 列 | クエリーを送ってからレスポンスが返るまでの時間(秒)です |
| 2 | 0.024053000 | www.yahoo.co.jp のレスポンスは約 24ms で返っています |
この列のフィールドは dns.time なので、dns.time > 0.1 のように書くと、応答に 100ms 以上かかったレスポンスだけを表示できます。
HTTP
HTTP は、Web サーバとブラウザの間で情報をやりとりするプロトコルです。ブラウザが HTTP リクエストを送り、Web サーバがレスポンスを返します。
| フィルタ | 表示されるパケット |
|---|---|
| http | HTTP 通信すべて |
| http.request | HTTP リクエスト |
| http.request.method == GET | リクエストのうち GET メソッド |
| http.response | HTTP レスポンス |
| http.response.code == 200 | レスポンスコードが 200 のレスポンス |
http.request では、SSDP(Simple Service Discovery Protocol、UDP 1900 番)のリクエストも表示されます。SSDP は HTTP の形式のメッセージを UDP で送るためです。SSDP を除くには次のように書きます。
(http.request) and !(udp.port eq 1900)
接続先ホスト
HTTP のパケットを見るときは、どのホストへ接続しているかが表示されていると便利です。任意のリクエストの詳細で、HTTP ヘッダの Host を右クリックし、Apply as Column で列に追加します。
| Protocol | Length | Host(追加した列) | Info |
|---|---|---|---|
| SSDP | 216 | 1239.255.255.250:1900 | M-SEARCH * HTTP/1.1 |
| SSDP | 216 | 239.255.255.250:1900 | M-SEARCH * HTTP/1.1 |
| HTTP | 706 | 2hirotanoblog.com | GET / HTTP/1.1 |
| HTTP | 84 | www.yahoo.co.jp | GET / HTTP/1.1 |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | 239.255.255.250:1900 | SSDP のリクエストです。http.request に含まれています |
| 2 | hirotanoblog.com | HTTP リクエストの接続先ホストです |
特定のホストだけを表示する場合、たとえば www.yahoo.co.jp だけなら次のように書きます。
http.host == www.yahoo.co.jp
TLS
TLS(Transport Layer Security)は HTTPS などで使われる暗号化のプロトコルです。HTTP のリクエストやレスポンスの中身は暗号化されるので、Wireshark でもそのままでは見えません。
| フィルタ | 表示されるパケット |
|---|---|
| tls | TLS 通信すべて |
| tls.handshake.type == 1 | TLS ハンドシェイクの Client Hello |
接続先サーバ
TLS のパケットを見るときも、どのサーバへ接続しているかが表示されていると便利です。任意の Client Hello の詳細で、Server Name Indication 拡張の Server Name を右クリックし、Apply as Column で列に追加します。
| Protocol | Server Name(追加した列) | Length | Info |
|---|---|---|---|
| TLSv1… | 1www.yahoo.co.jp | 583 | Client Hello |
| TLSv1… | s.yimg.jp | 664 | Client Hello |
| TLSv1… | yads.c.yimg.jp | 583 | Client Hello |
| TLSv1… | logql.yahoo.co.jp | 583 | Client Hello |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | Server Name 列 | Client Hello の SNI に入っている接続先のサーバ名です。通信が暗号化されていても、ここは平文で見えます |
特定のサーバだけを表示したい場合は次のように書きます。
tls.handshake.extensions_server_name == www.yahoo.co.jp
HTTP と HTTPS が混在する環境で、どのホストやサーバへ接続しているかをまとめて確認するには、HTTP リクエストと Client Hello を OR でつなぎ、SSDP を除きます。
(http.request or tls.handshake.type == 1) and !(udp.port eq 1900)
| Host | Server Name | Protocol | Info |
|---|---|---|---|
| read.amazon.co.jp | TLSv1.3 | Client Hello | |
| 1www.yahoo.co.jp | HTTP | GET / HTTP/1.1 | |
| s.yimg.jp | TLSv1.3 | Client Hello | |
| 2www.yahoo.co.jp | TLSv1.3 | Client Hello |
| No. | 表示 | 意味 |
|---|---|---|
| 1 | Host 列 | HTTP(平文)の接続先です |
| 2 | Server Name 列 | HTTPS(TLS)の接続先です |
TLS のフィールド名は、Wireshark 3.0 で ssl. から tls. で始まる名前に変わりました。検証時は (http.request or ssl.handshake.type == 1) and !(udp.port eq 1900) と古い名前で入力し、フィルタのツールバーに警告のアイコンが出ていました。今の版では tls. の名前を使ってください。
まとめ
| 目的 | フィルタの例 |
|---|---|
| 条件の組み合わせ | &&(and)、||(or)、!(not)。除外は !(ip.addr == …) |
| アドレス | eth.addr eth.src[0:3] eth.ig ip.addr ip.src ip.dst(/ でセグメント指定) |
| プロトコル | arp icmp tcp udp dns http tls |
| TCP の問題 | tcp.analysis.flags && !tcp.analysis.window_update |
| 応答時間・接続先 | dns.time、http.host、tls.handshake.extensions_server_name(列に追加すると見やすい) |
よく使うフィールドは列に追加しておくと、フィルタの結果を確かめやすくなります。フィールド名がわからないときは、パケットの詳細でそのフィールドを右クリックして Apply as Filter を使うと、フィルタが自動で作られます。
コメント