STANNIX Community


Manual: tcpaccept.bt

tcpaccept.bt(8)					   System Manager's Manual				     tcpaccept.bt(8)

NAME
       tcpaccept.bt - Trace TCP passive connections (accept()). Uses bpftrace/eBPF

SYNOPSIS
       tcpaccept.bt

DESCRIPTION
       This tool traces passive TCP connections (eg, via an accept() syscall; connect() are active connections). This can be
       useful for general troubleshooting to see what new connections the local server is accepting.

       This uses dynamic tracing of the kernel inet_csk_accept() socket function (from tcp_prot.accept), and will need to be
       modified to match kernel changes.

       This  tool  only traces successful TCP accept()s. Connection attempts to closed ports will not be shown (those can be
       traced via other functions).

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

REQUIREMENTS
       CONFIG_BPF and bpftrace.

EXAMPLES
       Trace all passive TCP connections (accept()s):
	      # tcpaccept.bt

       FIELDS

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

       PID    Process ID

       COMM   Process name

       RADDR  Remote IP address.

       RPORT  Remote port.

       LADDR  Local IP address.

       LPORT  Local port

       BL     Current accept backlog vs maximum backlog

OVERHEAD
       This traces the kernel inet_csk_accept function and prints output for each event.  The rate of this depends  on	your
       server  application.  If it is a web or proxy server accepting many tens of thousands of connections per second, then
       the overhead of this tool may be measurable (although, still a lot better than tracing every packet). If it  is	less
       than  a	thousand  a second, then the overhead is expected to be negligible. Test and understand this overhead before
       use.

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	com‐
       mentary for this tool.

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

	      https://github.com/iovisor/bcc

OS
       Linux

STABILITY
       Unstable - in development.

AUTHOR
       Brendan Gregg, adapted for bpftrace by Dale Hamel

SEE ALSO
       tcpconnect.bt(8), funccount(8), tcpdump(8)

USER COMMANDS						 2018-10-24					     tcpaccept.bt(8)