Skip to content

sematext/uprobe-http-tracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

uprobe-http-tracer

Captures all the calls to http.Get function and grabs the full URL from the stack area. For more details head to the blog post.

Requirements

To build this tool you have to satisify the following requirements:

  • have a Linux kernel that supports uprobes
  • linux headers
  • clang
  • LLVM
  • libbcc
  • Go >1.12

Usage

  1. Build the tool
go build -o uprobe-http-tracer main.go
  1. Write a simple program
vi /tmp/main.go

package main

import "net/http"

func main() {
    urls := []string{"http://google.com", "http://reddit.com", "http://pastebin.com/tools"}
    for _, url := range urls {
       http.Get(url)
    }
}

go build /tmp/main.go
  1. See it in action
sudo ./uprobe-http-tracer --bin=/tmp/main
PID     URL
8274    http://google.com
8276    http://reddit.com
8286    http://pastebin.com/tools

About

uprobe-based HTTP tracer for Go binaries

Topics

Resources

Stars

62 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages