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

Overview

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
You might also like...
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

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

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

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

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

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.

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

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

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

Owner
Agis Anastasopoulos
Agis Anastasopoulos
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

Samuel Wong 1 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

Yo-An Lin 19 May 1, 2022
easyRpc - Sync && Async Call supported

easyRpc - Sync && Async Call supported

Dub Dub 2 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

Narasimha Prasanna HN 35 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.

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

null 14 Aug 4, 2022
Sysmonitor - System Monitor Application for Linux

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

Sergei Gnezdov 1 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

Koofr 28 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.

null 80 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

null 7 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

Dragonfly 1 Nov 7, 2021