Simple, lightweight, and easy to use gopacket wrapper cli

Related tags

Command Line gniffer
Overview

Contributors Forks Stargazers Issues MIT License LinkedIn


gniffer

Simple, lightweight, and easy to use gopacket wrapper cli
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact

About The Project

This project was initially created to help to mirror requests for StrixEye Agent.

Features

  • Redirect incoming requests to a target web server
  • Capture real time HTTP traffic from interfaces
  • Capture HTTP traffic from a pcap file

Built With

Thanks to maintainers and communities of the following projects for making development of this CLI easier. Full list of dependencies can be found in go modules file.

Getting Started

General information about setting up gniffer locally

Requirements

Required software and installations.

  • libpcap v1.10.0 or higher
  • flex
  • bison
  • gcc

Install flex and bison via your package manager.Then, to install libpcap, run the following script, preferably as root:

wget -O libpcap-1.10.0.tar.gz http://www.tcpdump.org/release/libpcap-1.10.0.tar.gz
tar -xf libpcap-1.10.0.tar.gz
cd libpcap-1.10.0
./configure
make && make install
ldconfig

Installation

Tarball

  1. Download latest-release for your operating system/architecture
  2. Unzip binary and place it somewhere in your path
  3. Make it executable

Build

Other than Go version 1.16.+, StrixEye CLI has no dependencies/requirements.

Basic building process like the following would suffice.

   go build -o gniffer main.go
Docker
    docker pull gniffer:latest

Usage

Shell

Following command will start sniffing loopback interface and redirect all incoming requests to target web server on target.omer.beer

gniffer sniff proxy --target-protocol=https --target-host=target.omer.beer --target-port=443 -i lo

Docker

The docker image comes as a command line utility, meaning you can access all cli commands.

docker run gniffer --help

Following command will start sniffing loopback interface and redirect all incoming requests to target web server on target.omer.beer

docker run gniffer sniff proxy --target-protocol=https --target-host=akaunting.agent.strixeye.com --target-port=443 -i lo

For more examples, please refer to the Documentation

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learned, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the Apache License 2.0 License. See LICENSE for more information.

Contact

StrixEye - @strixeye - [email protected]

Project Link: https://github.com/strixeyecom/gniffer

Releases(v0.0.7)
  • v0.0.7(Dec 25, 2021)

  • v0.0.6(Dec 25, 2021)

    Changelog

    a2cfab3 Merge branch 'feature/proxy' into develop 448c3ef Merge branch 'feature/sniff' into develop be4425f Merge branch 'hotfix/v0.0.5' into develop fa3ff11 Merge branch 'release/v0.0.6' into main c0785d1 [feat] Add app layer filter to sniffing 0a2670d [feat] Add fallback support for host 28adbe3 [feat] Following improvements to sniffer 9b4833d [feat] Following socket improvements 98dee69 [feat] Use workers to resource file sockets

    Docker images

    • docker pull docker.usestrix.com/gniffer:v0.0.6
    • docker pull docker.usestrix.com/gniffer:v0.0.6-fa3ff11
    • docker pull docker.usestrix.com/gniffer:v0
    Source code(tar.gz)
    Source code(zip)
    checksums.txt(99 bytes)
    gniffer_0.0.6_Linux_amd64.tar.gz(3.59 MB)
  • v0.0.6-rc1(Dec 3, 2021)

  • v0.0.6-alpha1(Dec 1, 2021)

    Changelog

    a2cfab3 Merge branch 'feature/proxy' into develop 448c3ef Merge branch 'feature/sniff' into develop be4425f Merge branch 'hotfix/v0.0.5' into develop 28adbe3 [feat] Following improvements to sniffer 9b4833d [feat] Following socket improvements 5d620fb [fix] Log subcommand for both live and offline sniffing f8b529d [fix] Network layers aren't assembled correctly

    Docker images

    • docker pull docker.usestrix.com/gniffer:v0.0.6-alpha1
    • docker pull docker.usestrix.com/gniffer:v0.0.6-alpha1-a2cfab3
    • docker pull docker.usestrix.com/gniffer:v0
    Source code(tar.gz)
    Source code(zip)
    checksums.txt(106 bytes)
    gniffer_0.0.6-alpha1_Linux_amd64.tar.gz(3.59 MB)
  • v0.0.5(Nov 30, 2021)

  • v0.0.4(Nov 30, 2021)

    Changelog

    64f75c1 Merge branch 'feature/pcap' into develop ffe718a Merge branch 'feature/xff' into develop 18f1612 Merge branch 'release/v0.0.4' into main f1541d5 [feat] Enable static builds 7fbc1ec [feat] Implemented adding origin headers on demand 56824d4 [feat] Implemented base pcap support 794b6e4 [feat] Implemented reassembling pcap packets 3543108 [feat] Support appending XFF headers d970f7a [refactor] Configured and fixed linting 82788e3 [refactor] Linting and error verbosity improved

    Docker images

    • docker pull docker.usestrix.com/gniffer:v0.0.4
    • docker pull docker.usestrix.com/gniffer:v0.0.4-18f1612
    • docker pull docker.usestrix.com/gniffer:v0
    Source code(tar.gz)
    Source code(zip)
    checksums.txt(99 bytes)
    gniffer_0.0.4_Linux_amd64.tar.gz(3.59 MB)
  • v0.0.2(Nov 23, 2021)

Owner
StrixEye
StrixEye
Elegant CLI wrapper for kubeseal CLI

Overview This is a wrapper CLI ofkubeseal CLI, specifically the raw mode. If you just need to encrypt your secret on RAW mode, this CLI will be the ea

Elm 4 Jan 8, 2022
A wrapper of aliyun-cli subcommand alidns, run aliyun-cli in Declarative mode.

aliyun-dns A wrapper of aliyun-cli subcommand alidns, run aliyun-cli in Declarative mode. Installation Install aliyun-cli. Usage $ aliyun-dns -h A wra

许嘉华 0 Dec 21, 2021
An easy to use menu structure for cli applications that prompts users to make choices.

WMenu Package wmenu creates menus for cli programs. It uses wlog for its interface with the command line. It uses os.Stdin, os.Stdout, and os.Stderr w

Will Dixon 165 Jun 30, 2022
An easy-to-use cli tool for downloading manga

mangodl Download and search manga right from the terminal! Report Bug || Request Feature Table of Contents About the Project Built With Getting Starte

null 132 Jun 25, 2022
Easy to use CLI for cryptography

EDH (Encryption, Decryption, Hashing) Utility that aims to improve efficiency of encryption, decryption and hashing by making a simple to use CLI Writ

null 2 Nov 4, 2021
Simple and easy to use command line application written in Go for cleaning unnecessary XCode files.

xcclear Say hello to a few extra gigabytes of space on your Mac with xcclear, a simple and easy to use command line application written in Go for clea

null 57 Jun 28, 2022
The simple and easy-to-use program designed to watch user activity for Cloud Providers.

Cloud Agent The simple and easy-to-use program is designed to watch user activity and possible orphan clusters for Cloud Providers: Gardener GCP (work

Filip Strózik 3 Jun 6, 2022
a lightweight and simple cli package

▄████████ ▄█ ▄█ ███ ███ ███ ███ ███ █▀ ███ ███▌ ███ ███ ███▌ ███ ███ ███▌ ███ █▄ ███

seo.do 12 Oct 14, 2021
A wrapper around cd and xdg-open to use aliases to directory paths in terminal

CDD - Change directories Dynamically I am a lazy linux user and turns out that basic tab completion wasn't enough for me to navigate through my direct

Navdeep Singh Rathore 15 Apr 21, 2022
Go-file-downloader-ftctl - A file downloader cli built using golang. Makes use of cobra for building the cli and go concurrent feature to download files.

ftctl This is a file downloader cli written in Golang which uses the concurrent feature of go to download files. The cli is built using cobra. How to

Dipto Chakrabarty 2 Jan 2, 2022
Simplest possible GH CLI wrapper around rhysd/actionlint

Simplest possible GH CLI wrapper around rhysd/actionlint

Christopher Schleiden 8 Jun 10, 2022
Envp - ENVP is cli wrapper that sets environment variables by profile when you execute the command line

ENVP ENVP is cli wrapper that sets environment variables by profile based config

Sunggun Yu 2 Feb 25, 2022
Highly customizable and lightweight Go CLI app framework 👌

Nice ?? Nice is a highly customizable and lightweight framework for crafting CLI apps. Nice respects idiomatic Go code and focuses to be clear, effici

Aleksandr Krivoshchekov 201 Jun 7, 2022
Show Languages In Code. A fast and lightweight CLI to generate stats on the languages inside your project

slic Show Languages In Code. Usage Run it with an -h flag to list all commands. -d flag can be used to specify the directory of search -i flag can be

Saurav Pal 3 Dec 25, 2021
A very simple note-taking CLI you can use from the terminal that uses a SQLite DB to persist, and query, notes.

Note Logger Summary A very simple note-taking CLI you can use from the terminal that uses a SQLite DB to persist, and query, notes. Building/Installin

Nicholas Page 3 Apr 14, 2022
An easy to use go program to download videos from Reddit

Gedditsave Download videos from reddit from the command line. Use guide geddit -

Solaris 30 Jun 5, 2022
An easy to use go program to download videos from Reddit.

Gettit Download videos from reddit from the command line. Use guide gettit -u post_url Example : gettit -u https://www.reddit.com/r/programminghorror/

Solaris 30 Jun 5, 2022
Qalam - An easy to use terminal styling library

Qalam ✏️ Qalam is a Go library for easy terminal styling. Installation go get gi

null 39 May 5, 2022