O tcpdump imprime pacotes completos. "Garbage" que você vê são na verdade cabeçalhos de pacotes TCP.
você pode certamente massagear a saída com, por exemplo, um script perl, mas por que não usar tshark, a versão textual de wireshark?
tshark 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
ele pega os mesmos argumentos que o tcpdump (mesma biblioteca), mas como é um analisador, ele pode fazer inspeção profunda de pacotes para que você possa refinar ainda mais seus filtros, ou seja,
tshark 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
-R'http.request.method == "GET" || http.request.method == "HEAD"'