Tshark is actually extremely powerful for filtering, and has two kinds: capture filters wih -f
and display filters with -Y
Tshark documentation says:
Capture filters (like tcp port 80) are not to be confused with display filters (like tcp.port == 80). The former are much more limited and are used to reduce the size of a raw packet capture. The latter are used to hide some packets from the packet list.
See
Your pcap files already have been captured, which means that you don't use a capture filter on them, you use a display filter.
$ tshark -r TCPD -Y 'ip.dst == 172.30.20.8'
1 0.000000 172.30.20.122 → 172.30.20.8 ICMP 98 Echo (ping) request id=0x4292, seq=1/256, ttl=64
Note the quotes to protect the filter from the shell.
{}
and it's searchable and copyable by others.