portrange
não está no filtro pcap do OpenBSD, mas você pode fingir.
tcpdump -i em0 tcp[2:2] > 79 and tcp[2:2] < 85
Você pode endereçar partes dos pacotes e compará-las. O primeiro número é deslocado no pacote (começando em zero) e o segundo número é quantos bytes devem ser usados. Portanto, o exemplo acima corresponde a qualquer pacote tcp com uma porta de destino de 80 a 84. Você também pode usar < = e > = para tornar as coisas mais intuitivas.
A correspondência na porta de origem seria tcp[0:2]
. O UDP, na verdade, seria o mesmo, já que as portas estão com os mesmos deslocamentos.