GitHub - goiiot/puppy: A tiny packet capture tool with BPF and no CGO
source link: https://github.com/goiiot/puppy
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
Puppy
A tiny packet capture tool with BPF and no CGO
woof, woof, who's there
Status
This project is at its very early stage, only for concept proof (no CGO BPF), use it at your own risk.
This project has ONLY been TESTED UNDER darwin x64 platform, MIGHT BITE YOU at some time(won't be painful, cause it's just a puppy)
Features
- Network Packet Capture
Usage
Commandline App
- get and install puppy to your
$GOPATH/bin
$ go get github.com/goiiot/puppy
- run (no root required)
# export PATH="$PATH:$GOPATH/bin" $ puppy <iface> # e.g. puppy en0
Go Library
- get puppy bpf library
$ go get github.com/goiiot/puppy/bpf
Open
and use as aio.ReadCloser
(see puppy.go for an esay example)
see godoc for more API information
TODO
- eBPF? (oh, time consuming)
Acknowledgements
Learn how to use BPF as net filter with msantos/bpf.c, many thanks to that great work
LICENSE
Copyright Go-IIoT (https://github.com/goiiot)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Recommend
-
122
pcap2curl Read a packet capture, extract HTTP requests and turn them into cURL commands for replay. See https://isc.sans.edu/diary.html?storyid=22900
-
71
libmqtt Feature rich modern MQTT library in pure Go, for Go, C/C++, Java Table of contents Features MQTT v3.1.1/v5.0 client support (async only) High performa...
-
64
Creating clean and healthy Git repositories save puppies. Here are some of our tried and tested tips that can be used on both short and long term projects. These tips have been created by combining online best practices with personal experience...
-
53
Our servers process a lot of network packets, be it legitimate traffic orlarge
-
5
Overview UPDATE: My book, Security with Go, is now published. If you found this page helpful you should check out the book. It contains 14 chapters with vari...
-
8
Line lengths, or the Pro Puppy Punting League is now open Yesterday's post about excessively long lines of code has generated some reader feedback. To be honest, it's rather...
-
6
Packet capture is a vital tool used to keep networks operating safely and efficiently. In the wrong hands, it can also be used to steal sensitive data like usernames and passwords. In this post, we’ll dive into what a packet capture is, how i...
-
2
Ready for puppy overload?Photo: Apple TV+Puppy Place, the latest kids show to land on Apple TV+, is a parade of adorable dogs and teachable moments, designed to deliver lessons about personal responsibility and social issues...
-
3
Affordable wireless packet capture solutionTools like the Test-Um Wi-Net are great for trouble shooting wireless net...
-
8
Assuming the target containers can actually install new software (apt install is available) what follows is a quick and very dirty method to run tcpdump on k8s/AKS containers in Azure. If you’re running Kubernetes 1.23 and up,...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK