blob: f782d91d2ae9430b7e852f4f33005f3868e525bb [file] [log] [blame]
Iago López Galeirasf37434b2017-03-30 19:07:47 +02001Demonstrations of tcptracer, the Linux eBPF/bcc version.
2
3
4This tool traces the kernel function performing TCP connections (eg, via a
5connect() or accept() syscalls) and closing them (explicitly or if the process
6dies). Some example output (IP addresses are fake):
7
8```
9# ./tcptracer
10Tracing TCP established connections. Ctrl-C to end.
11T PID COMM IP SADDR DADDR SPORT DPORT
12C 28943 telnet 4 192.168.1.2 192.168.1.1 59306 23
13C 28818 curl 6 [::1] [::1] 55758 80
14X 28943 telnet 4 192.168.1.2 192.168.1.1 59306 23
15A 28817 nc 6 [::1] [::1] 80 55758
16X 28818 curl 6 [::1] [::1] 55758 80
17X 28817 nc 6 [::1] [::1] 80 55758
18A 28978 nc 4 10.202.210.1 10.202.109.12 8080 59160
19X 28978 nc 4 10.202.210.1 10.202.109.12 8080 59160
20```
21
22This output shows three conections, one outgoing from a "telnet" process, one
23outgoing from "curl" to a local netcat, and one incoming received by the "nc"
24process. The output details show the kind of event (C for connection, X for
25close and A for accept), PID, IP version, source address, destination address,
26source port and destination port.
Iago López Galeiras6426cd42017-08-04 16:57:20 +020027
28The -t option prints a timestamp column:
29
30```
31# ./tcptracer -t
32Tracing TCP established connections. Ctrl-C to end.
33TIME(s) T PID COMM IP SADDR DADDR SPORT DPORT
340.000 C 31002 telnet 4 192.168.1.2 192.168.1.1 42590 23
353.546 C 748 curl 6 [::1] [::1] 42592 80
364.294 X 31002 telnet 4 192.168.1.2 192.168.1.1 42590 23
37```