TCPDUMP capture uniquement les nouvelles connexions

9

J'utilise TCPDUMP pour capturer le trafic à partir d'une adresse IP spécifique. Existe-t-il la possibilité de capturer uniquement les nouvelles connexions, c'est-à-dire les flux TCP qui commencent par le paquet SYN?

Je vous remercie

Ania Katzenelson
la source
Malheureusement non. tcpdump capture uniquement les paquets à leur arrivée, il ne conserve aucun type d'informations de session pour différencier les flux TCP. Vous auriez besoin d'analyser la capture dans Wireshark si vous souhaitez séparer les flux (vous pouvez commander par numéro de flux par exemple).
Mark Riddell
Attention, le bit SYN est défini dans les deux premiers paquets de la prise de contact TCP à 3 voies. Ainsi, ce filtre correspondra à toutes les nouvelles tentatives d'établissement de connexions, et pas seulement aux connexions nouvellement établies. Si d'une manière ou d'une autre (règle du logiciel) la connexion n'est pas acceptée, elle sera également affichée.
Angel

Réponses:

7

Pour capturer uniquement les paquets TCP SYN:

# tcpdump -i <interface> "tcp[tcpflags] & (tcp-syn) != 0"
pstrozniak
la source
3
Cela ne capturera pas tout le trafic pour une nouvelle session. Il ne capturera que les paquets SYN.
user5870571
1

Les éléments suivants captureront les paquets TCP-SYN et SYN-ACK.

tcpdump -i <interface> "tcp[tcpflags] & (tcp-syn) !=0"

Les éléments suivants captureront uniquement les paquets TCP-SYN.

tcpdump -i <interface> "tcp[tcpflags] & (tcp-syn) !=0 and tcp[tcpflags] & (tcp-ack) =0"

La raison en est que les paquets SYN-ACK incluent à la fois les drapeaux SYN et ACK. Le premier filtre n'a recherché que la présence d'un indicateur SYN.

Si vous souhaitez filtrer uniquement les entrées, ajoutez l'option -Q dans.

tcpdump -i <interface> -Q in "tcp[tcpflags] & (tcp-syn) !=0 and tcp[tcpflags] & (tcp-ack) =0"
JamesL
la source