bashreadline.bt - Print bash commands system wide. Uses bpftrace/eBPF.
Contents
Description
bashreadline traces the return of the readline() function using uretprobes, to show the bash commands
that were entered interactively, system wide. The entered command may fail: this is just showing what was
entered.
This program is also a basic example of bpftrace and uretprobes.
Since this uses BPF, only the root user can use this tool.
Examples
Trace bash commands system wide:
# bashreadline.btFields
TIME A timestamp on the output, in "HH:MM:SS" format.
PID The process ID for bash.
COMMAND
Entered command.
Name
bashreadline.bt - Print bash commands system wide. Uses bpftrace/eBPF.
Os
Linux
Overhead
As the rate of interactive bash commands is expected to be very low (<<100/s), the overhead of this
program is expected to be negligible.
Requirements
CONFIG_BPF and bpftrace.
See Also
opensnoop.bt(8) USER COMMANDS 2018-09-06 bashreadline.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
bashreadline.bt
