Um probe keepalive é um pacote sem dados e o sinalizador ACK ativado
tcpdump -pni $intf -v "tcp port $port and ( tcp[tcpflags] & tcp-ack != 0 and ( (ip[2:2] - ((ip[0]&0xf)<<2) ) - ((tcp[12]&0xf0)>>2) ) == 0 ) "
o que isso faz:
- bit-wise e entre tcp flags field e tcp-ack para se certificar de que é um ACK
- O comprimento do pacote IP (em bytes) - O comprimento do cabeçalho IP - O Comprimento do Cabeçalho TCP para garantir que não haja dados
Aviso: na verdade, não foi testado, mas deve apontar você em uma boa direção