Entendiendo el filtro Tcpdump y el enmascaramiento de bits

Estoy tratando de oler los encabezados http usando tcpdump.

Este filtro funciona bien pero no lo entiendo.

(((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)

Lo he buscado en Google pero no puedo encontrar ninguna información útil

Aquí está todo el comando tcpdump

sudo tcpdump -A 'dst [dest host] or src [src host]  and tcp  and 
(((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' -i eth0

Respuestas a la pregunta(1)

Su respuesta a la pregunta