logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

tcpconnect.bt - Trace TCP active connections (connect()). Uses Linux bpftrace/eBPF

Author

       Brendan Gregg, adapted for bpftrace by Dale Hamel

Description

       This  tool traces active TCP connections (eg, via a connect() syscall; accept() are passive connections).
       This can be useful for general troubleshooting to see what connections are initiated by the local server.

       All connection attempts are traced, even if they ultimately fail.

       This works by tracing the kernel tcp_v4_connect() and tcp_v6_connect() functions using  dynamic  tracing,
       and will need updating to match any changes to these functions.

       Since this uses BPF, only the root user can use this tool.

Examples

       Trace all active TCP connections:
              # tcpconnect.btFIELDS

       TIME(s)
              Time of the call, in HH:MM:SS format.

       PID    Process ID

       COMM   Process name

       SADDR  Source IP address.

       SPORT  Source port.

       DADDR  Destination IP address.

       DPORT  Destination port

Name

       tcpconnect.bt - Trace TCP active connections (connect()). Uses Linux bpftrace/eBPF

Os

       Linux

Overhead

       This  traces the kernel tcp_v[46]_connect functions and prints output for each event. As the rate of this
       is generally expected to be low (< 1000/s), the overhead is also expected to be negligible. If  you  have
       an  application  that  is  calling  a  high  rate  of  connects()s, such as a proxy server, then test and
       understand this overhead before use.

Requirements

       CONFIG_BPF and bpftrace.

See Also

tcpaccept.bt(8), funccount(8), tcpdump(8)

USER COMMANDS                                      2018-11-24                                   tcpconnect.bt(8)

Source

       This is from bpftrace

              https://github.com/bpftrace/bpftrace

       Also look in the bpftrace distribution for a  companion  _examples.txt  file  containing  example  usage,
       output, and commentary for this tool.

       This  is  a  bpftrace version of the bcc tool of the same name. The bcc tool may provide more options and
       customizations.

              https://github.com/iovisor/bcc

Stability

       Unstable - in development.

Synopsis

tcpconnect.bt

See Also