Estou tentando capturar apenas pacotes TCP SYN-ACK, ou seja, com os bits SYN e ACK definidos com:
tcpdump -vvvni eth0 tcp[tcpflags] == tcp-syn and tcp[tcpflags] == tcp-ack
mas dá esse erro:
tcpdump: expression rejects all packets
Ainda não consigo descobrir se existe uma maneira de fazer isso através do arquivo tcpdump
.
A propósito, tentei capturar pacotes apenas com o sinalizador SYN definido, esperando que também houvesse SYN-ACKs (porque não há contradição aqui), mas havia apenas pacotes SYN puros (com apenas o bit SYN definido). Portanto, preciso de uma maneira de ver apenas SYN-ACKs ou SYNs e SYN-ACKs.
PS é sobre TCP regular sobre IPv4.
Com base na página de manual pcap-filter e especialmente nos exemplos no final, sugiro que a sintaxe de filtro correta para corresponder aos pacotes que tenham pelo menos SYN e ACK definidos seria:
Em vez disso, sua expressão de filtro tentou corresponder a pacotes em que os sinalizadores são iguais a SYN e iguais a ACK ao mesmo tempo, o que não funciona, pois não pode ser igual a ambos ao mesmo tempo, mas pode conter apenas os dois sinalizadores.
Se você estiver interessado em combinar pacotes onde os sinalizadores são iguais a SYN+ACK e nenhum outro sinalizador estiver definido, você também pode usar a sintaxe mais simples: