gs0510 / ministrace

Minimum viable strace in Go.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ministrace

Minimum viable strace in Go.

Strace in Go 🔍

strace is the system-call tracer, which traces the calls that a program makes into the kernel in order to interact with the outside world.

This code uses unix package which is platform dependent, hence there's a dockerfile which you can use to run this code!

docker run -it --security-opt seccomp=unconfined <image_name>

Since, ptrace(the syscall that strace implementation uses) allows you to look at and modify the registers of a program(which is pretty shady you'd need to disable seccomp mode.

Inspired by strace in C and by Julia Evans' zine

About

Minimum viable strace in Go.

License:MIT License


Languages

Language:Go 74.5%Language:Dockerfile 25.5%