TCPDUMP erfasst nur neue Verbindungen

9

Ich verwende TCPDUMP, um Datenverkehr von einer bestimmten IP-Adresse zu erfassen. Gibt es die Möglichkeit, nur neue Verbindungen zu erfassen, dh TCP-Streams, die mit dem SYN-Paket beginnen?

Vielen Dank

Ania Katzenelson
quelle
Leider nicht. tcpdump erfasst nur Pakete, sobald sie ankommen. Es werden keine Sitzungsinformationen zur Unterscheidung zwischen TCP-Streams gespeichert. Sie müssten die Erfassung in Wireshark analysieren, wenn Sie Streams trennen möchten (Sie können beispielsweise nach Stream-Nummer bestellen).
Mark Riddell
Seien Sie vorsichtig, das SYN-Bit wird in den beiden ersten Paketen des TCP 3-Wege-Handshakes gesetzt. Dieser Filter entspricht also allen neuen Versuchen, Verbindungen herzustellen, nicht nur den neu hergestellten Verbindungen. Wenn die Verbindung irgendwie (Softwareregel) nicht akzeptiert wird, wird sie auch angezeigt.
Engel

Antworten:

7

So erfassen Sie nur TCP-SYN-Pakete:

# tcpdump -i <interface> "tcp[tcpflags] & (tcp-syn) != 0"
pstrozniak
quelle
3
Dadurch wird nicht der gesamte Datenverkehr für eine neue Sitzung erfasst. Es werden nur SYN-Pakete erfasst.
user5870571
1

Im Folgenden werden sowohl TCP-SYN- als auch SYN-ACK-Pakete erfasst.

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

Im Folgenden werden nur TCP-SYN-Pakete erfasst.

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

Der Grund dafür ist, dass SYN-ACK-Pakete sowohl das SYN- als auch das ACK-Flag enthalten. Der erste Filter suchte nur nach einem SYN-Flag.

Wenn Sie nur nach eingehenden Filtern filtern möchten, fügen Sie die Option -Q in hinzu.

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