Algo parecido com isso parece funcionar para o IPv4:
tcpdump 'udp[0xa] & 0x78 = 0x28'
Raciocínio (offsets relativos ao início do pacote UDP - provavelmente mais fácil de seguir junto com o Wireshark aberto):
- bytes 0-7 = cabeçalho UDP
- bytes 8-9 = ID de transação do DNS
- byte 10 (0xa) = início de sinalizadores de DNS
O código de operação do DNS é bits 3-6 (daí a máscara 01111000 = 0x78) do byte 10 e, para atualizações, queremos o DNS opcode 5; 5 < < 3 = 40 = 0x28.