Skip to content
A cross platform http sniffer with a web UI
Branch: master
Clone or download
Latest commit 69b72fb Aug 6, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ngnet fixes data racing problems (fixes #11) Aug 6, 2018
web
.gitignore Print response client and server address Jun 22, 2018
.travis.yml fix codecov integration problems Aug 6, 2018
LICENSE.md
README.md README add codecov badge Aug 6, 2018
embed_html.py change options; optimize code details Jun 4, 2018
ng.go fixes data racing problems (fixes #11) Aug 6, 2018
ngserver.go fixes data racing problems (fixes #11) Aug 6, 2018
screenshot.png make ui more clear May 26, 2018
test.sh

README.md

Go Report Card codecov GitHub license

Netgraph

Netgraph is a packet sniffer tool that captures all HTTP requests/responses, and display them in web page.

Screenshot

You can run Netgraph in your linux server without desktop environment installed, and monitor http requests/responses in your laptop's browser.

Compile, Install, Run

  1. go get github.com/ga0/netgraph
  2. run $GOPATH/bin/netgraph -i INTERFACE -p PORT
  3. open the netgraph web page in your browser (for example: http://localhost:9000, 9000 is the PORT set in step 2)

  Windows user need to install winpcap library first.

Options

  -bpf string
        Set berkeley packet filter (default "tcp port 80")
  -i string
        Listen on interface, auto select one if no interface is provided
  -input-pcap string
        Open a pcap file
  -o string
        Write HTTP requests/responses to file, set value "stdout" to print to console
  -output-pcap string
        Write captured packet to a pcap file
  -output-request-only
	      Write only HTTP request to file, drop response. Only used when option "-o" is present. (default true)
  -p int
        Web server port. If the port is set to '0', the server will not run.  (default 9000)
  -s	Save HTTP event in server
  -v	Show verbose message (default true)

Example: print captured requests to stdout:

  $ ./netgraph -i en0 -o=stdout
  2018/07/26 10:33:24 open live on device "en0", bpf "tcp port 80"
  [2018-07-26 10:33:34.873] #0 Request 192.168.1.50:60448->93.184.216.34:80
  GET / HTTP/1.1
  Host: www.example.com
  Connection: keep-alive
  Pragma: no-cache
  Cache-Control: no-cache
  Upgrade-Insecure-Requests: 1
  User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
  Accept-Encoding: gzip, deflate
  Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7

  content(0)

License

MIT

You can’t perform that action at this time.