tcpdumpには「BOOTP / DHCP、Request」がたくさんありますが、これをフィルタリングしたいと思います。
arpをフィルタリングするのは簡単です。
tcpdump -nni eth0 not arp
何についてBOOTP/DHCP, Request
?
以下を試しましたが、機能しません
$ sudo tcpdump -nni eth0 not bootp
tcpdump: can't parse filter expression: syntax error
$ sudo tcpdump -nni eth0 not dhcp
tcpdump: can't parse filter expression: syntax error
$ sudo tcpdump -nni eth0 not dhcpd
tcpdump: can't parse filter expression: syntax error
正しいtcpdumpとは何ですか?
ベストアンサー1
長い話を短く
tcpdumpの「BOOTP / DHCP」プロトコルのポート「ニックネーム」はですbootps
。たとえば、DHCP パケットのみをフィルタリングするには、次のようにします。
sudo tcpdump -n -i eth0 port bootps
または除外してください。
sudo tcpdump -n -i eth0 not port bootps
詳細
ヒントとして、特定のポート/プロトコルの「別名」を取得するには、次のファイルを確認してください/etc/services
。
$ cat /etc/services | grep bootp
bootps 67/udp
bootpc 68/udp
bootps
サーバーポートとbootpc
クライアントポートの両方が使用されます。
技術的には両方を使用する必要があると思うかもしれませんがtcpdump -n -i eth0 port bootps or bootpc
(たとえば、実際には、すべてのDHCPパケットは送信元または宛先でポート67を使用します(一部のパケットには送信元ポート67と宛先ポート68があり、他のパケットには送信元ポート68があります)。 )。および宛先ポート68)ポート67)。したがって、通常はフィルタリングでport bootps
十分です。