Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/raypereda/wiredog
a terminal-based monitor of local HTTP traffic
https://github.com/raypereda/wiredog
go http monitoring-tool packet-sniffer sniffer terminal-based
Last synced: 1 day ago
JSON representation
a terminal-based monitor of local HTTP traffic
- Host: GitHub
- URL: https://github.com/raypereda/wiredog
- Owner: raypereda
- License: mit
- Created: 2019-05-03T23:29:54.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-06-06T20:32:27.000Z (over 5 years ago)
- Last Synced: 2024-06-20T17:53:06.042Z (5 months ago)
- Topics: go, http, monitoring-tool, packet-sniffer, sniffer, terminal-based
- Language: Go
- Size: 5.03 MB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# wiredog
Wiredog monitors the local HTTP traffic by scanning the
network packets. All network interfaces are monitored.
At least one active interface is needed.When the requests rate for a given period exceeds a
threshold, an alert message is displayed. The top 10
website sections ordered by number of requests are displayed.Working and tested on Linux. OSX and Windows support is planned.
```
$ wiredog -helpWiredog is a tool for monitoring network traffic.
Only local HTTP requests are studied.
Administrator permission is required to access network devices.
Consider using sudo on Linux or get admin rights on Windows.Usage: sudo \path\to\wiredog [flags]
-assembly_debug_log
If true, the github.com/google/gopacket/tcpassembly library will log verbose debugging information (at least one line per packet)
-assembly_memuse_log
If true, the github.com/google/gopacket/tcpassembly library will log information regarding its memory use every once in a while.
-d string
network device name (default "wlp2s0")
-h int
threshold of HTTP request hits (default 2)
-log string
log directory (default ".")
-p duration
time period between traffic checks (default 2m0s)
-t generates test HTTP requests; sets h=2 and p=2s```
## Built With (from go.mod file)
```
Go 1.12code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c
github.com/gizak/termui v2.3.0+incompatible // indirect
github.com/gizak/termui/v3 v3.0.0
github.com/google/gopacket v1.1.16
github.com/maruel/panicparse v1.1.1 // indirect
github.com/mattn/go-runewidth v0.0.4 // indirect
github.com/mdlayher/raw v0.0.0-20190419142535-64193704e472 // indirect
github.com/mitchellh/go-wordwrap v1.0.0 // indirect
github.com/nsf/termbox-go v0.0.0-20190325093121-288510b9734e // indirect
github.com/onsi/ginkgo v1.8.0 // indirect
github.com/onsi/gomega v1.5.0 // indirect
github.com/pkg/errors v0.8.1
github.com/tedsuo/ifrit v0.0.0-20180802180643-bea94bb476cc // indirect
```## Thanks
gopacket and termui are cool Go packages. And of course, the Go programming language is beautiful.
## Useful links
https://www.devdungeon.com/content/packet-capture-injection-and-analysis-gopacket
https://medium.com/@cjoudrey/capturing-http-packets-the-hard-way-b9c799bfb6
https://stackoverflow.com/questions/21145781/how-do-you-use-the-tcp-assembly-package-in-gopacket