Experimental system call tracer for Linux x86-64, written in Go

gtrace

A system call tracer for Linux x86-64.

DISCLAIMER: This software is experimental and not considered stable. Do not use it in mission-critical environments.

Installation

$ go get -u github.com/agis/gtrace

Usage

Currently only attaching to an already running process is supported. Also, arguments are not decoded yet.

Attach to a process by specifying its pid:

$ ./gtrace -p 2602
Attached to process 2602...
futex = 0
write = 2
write = 1
futex = 0
write = 2
^C

Feature work

  • Decode arguments
  • terminal GUI with live statistics/counters
  • filter for certain syscalls
  • ARM support

Building

$ go generate
$ go build
Owner
Agis Anastasopoulos
Agis Anastasopoulos
Similar Resources

glossy-ly experimental proxy 💄☣️🖧

glossy-ly experimental proxy 💄☣️🖧

eyeZ HTTP proxy experiment powered by bubbletea and httransform Features Terminal UI Database recording (similar to hyperfox) Installation TUI and pro

Feb 17, 2022

A rule-based tunnel in Go with experimental features

A rule-based tunnel in Go with experimental features

Experimental-Clash A rule-based tunnel in Go with experimental features. Features Local HTTP/HTTPS/SOCKS server with authentication support VMess, Sha

Dec 25, 2022

Experimental NFS(v4) server library

NFS server library Experimental NFS server library in pure go. NFSv4 implementation posix tests: access: 58/58 pass open: 19/22 pass chdir: 3/3 pass r

Dec 20, 2022

An experimental package that rely on go generics to implement collection functions utilities

go-underscore go-underscore is a utility-belt library for Golang that provides s

Mar 20, 2022

An event driven remote access trojan for experimental purposes.

erat An event driven remote access trojan for experimental purposes. This example is very simple and leverages ssh failed login events to trigger erat

Jan 16, 2022

An experimental tektoncd/pipeline resolver

vegetable resolvers A set of experimental tektoncd/pipeline resolvers. The idea of this is to experiment with what could be achieved with a Resolver.

May 12, 2022

Tapestry is an underlying distributed object location and retrieval system (DOLR) which can be used to store and locate objects. This distributed system provides an interface for storing and retrieving key-value pairs.

Tapestry This project implements Tapestry, an underlying distributed object location and retrieval system (DOLR) which can be used to store and locate

Mar 16, 2022

A Go package for sending and receiving ethernet frames. Currently supporting Linux, Freebsd, and OS X.

ether ether is a go package for sending and receiving ethernet frames. Currently supported platform: BPF based OS X FreeBSD AF_PACKET based Linux Docu

Sep 27, 2022

netstat-nat - Display NAT entries on Linux systems

netstat-nat This is a reimplementation of the netstat-nat tool, written entirely in Go. It uses the same command line flags and almost the same output

Oct 26, 2021
Implementing SPEEDEX price computation engine in Golang as a standalone binary that exchanges can call

speedex-standalone Implementing SPEEDEX price computation engine in Golang as a standalone binary that exchanges can call. Notes from Geoff About Tato

Dec 1, 2021
requestgen generates the cascade call for your request object

requestgen requestgen generates the cascade call for your request object Installation go get github.com/c9s/requestgen Usage requestgen scans all the

Nov 30, 2022
easyRpc - Sync && Async Call supported

easyRpc - Sync && Async Call supported

Feb 16, 2022
An experimental Tor-Proxy serivce written in Go using Go-proxy and Go-libtor.

tor-proxy An experimental standalone tor-proxy service built with Go, using go-proxy, go-libtor and bine. This is a simple replacement to Tor's origin

Nov 9, 2022
fbstatus graphically shows the gokrazy system status on the Linux frame buffer, which is typically available via HDMI when running on a Raspberry Pi or a PC.
fbstatus graphically shows the gokrazy system status on the Linux frame buffer, which is typically available via HDMI when running on a Raspberry Pi or a PC.

gokrazy framebuffer status (fbstatus) fbstatus graphically shows the gokrazy system status on the Linux frame buffer, which is typically available via

Aug 4, 2022
Sysmonitor - System Monitor Application for Linux

Readme This application generates HTML report files that can be viewed over webb

Feb 18, 2022
An experimental go FTP server framework

graval Go FTP server framework. By providing a simple driver class that responds to a handful of methods you can have a complete FTP server. Some samp

Sep 27, 2022
Hummingbard is an experimental client for building decentralized communities on top of Matrix.

Hummingbard is an experimental client for building decentralized communities on top of Matrix.

Oct 11, 2022
Ananas is an experimental project for kubernetes CSI (Container Storage Interface) by using azure disk. Likewise, Ananas is the name of my cute british shorthair.

ananas Ananas is an experimental project for kubernetes CSI (Container Storage Interface) by using azure disk. Likewise, Ananas is the name of my cute

Aug 4, 2021
Highly experimental generator for Dragonfly

gen Highly experimental generator for Dragonfly Please note that this project is not currently actively being worked on. It may not be stable and it m

Nov 7, 2021