web-dev-qa-db-ja.com

PCAPフィルターは、DHCP関連のすべてのトラフィックをキャプチャするにはどのように見えますか?

私が理解しているように、IPv4の場合は、

  • UDPポート67および68、
  • ARP、
  • ICMPエコー要求と応答、

そしてIPv6のために私は必要になります

  • UDPポート546および547、
  • dHCP関連のすべてのマルチキャストアドレス
  • ICMPv6ネイバー探索。

DHCP関連のトラフィックをtcpdumpまたはWiresharkでキャプチャして、後で分析したいと考えています。

小さなキャプチャファイルを取得するためにフィルターをできるだけ具体的にしたいのですが、IPアドレスがまだ取得されていないことを確認するために使用されるような重要なパケットを見逃したくありません。

何か不足していますか?

6
Mathias Weidner

私は次のPCAPフィルターで解決しました:

( udp and ( port 67 or port 68 ) )
or arp
or ( icmp and (icmp[icmptype] == 8 or icmp[icmptype] == 0 ) )
or ( udp and ( port 546 or port 547 ) )
or ( icmp6 and ( ip6[40] == 135 or ip6[40] == 136 ) )
or dst net ff02:0:0:0:0:1:ff00::/104
or dst Host ff01::1
or dst Host ff02::1
or dst Host ff02::1:2
or ( icmp6 and ( ip6[40] == 128 or ip6[40] == 129 ) )

最初の3行はDHCPv4、ARP(重複アドレス検出)、およびPINGをキャッチします。

4行目はDHCPv6をキャッチし、5行目から8行目はIPv6の重複アドレス検出をキャッチします。 9行目はDHCPv6エージェントのマルチキャストをキャッチし、最後の行はPING6用です。

もちろん、これはDHCPトラフィックに関連しない多くのパケットをキャッチします。これらは後で整理する必要があります。

おそらく、PINGおよびPING6トラフィックはまったく必要ありません。

5
Mathias Weidner

フィルターport 67 or port 68はDHCP会話自体を取得します。それは正しいことです。

フィルターarpは、サブネット上のarpトラフィックをキャプチャする必要があります。これは本質的にブロードキャストであるため、サブネット上の任意のポートから捕捉できます。

そして、あなたがすでに概説したICMPリクエスト。

包括的なリストがあると思います。

3
sysadmin1138

DHCPはBOOTPを通信プロトコルと同様に使用するため、すべてのBOOTPトラフィックをフィルタリングする必要があります。これを見てください:

https://wiki.wireshark.org/DHCP

1
tomstephens89