Git Product home page Git Product logo

open-go-knocking's Introduction

OpenGoKnocking

Simple and cross-platform port knocking client written in GoLang.

Installation

To install OpenGoKnocking in your $GOPATH:

git clone https://github.com/leblanc-simon/open-go-knocking.git
cd open-go-knocking
go install

alternatively, you can download binary from releases. Binaries are availables for GNU/Linux, MacOS and Windows

Usage

# Knock to the server 192.168.0.42 at port 1337 (tcp), then 1338 (UDP) and finally 1339 (TCP)
open-go-knocking 192.168.0.42 1337:tcp 1338:udp 1339:tcp

# If the majority of ports are TCP ports, you can use the following syntax (ports without protocol will be in TCP)
open-go-knocking --tcp 192.168.0.42 1337 1338:udp 1339

# If the majority of ports are UDP ports, you can use the following syntax (ports without protocol will be in UDP)
open-go-knocking --udp 192.168.0.42 1337 1338:tcp 1339

# If you use domain name, you can increase the timeout to take account of resolution time
open-go-knocking --timeout 100 example.com 1337:tcp 1338:udp 1339:tcp

Options

  • --tcp: use TCP protocol by default
  • --udp: use UPD protocol by default
  • --delay (in ms / default 1): delay in milliseconds between 2 packets send to host
  • --timeout (in ms / default 5): timeout in milliseconds before autoclose connection
  • --version: Show the current version
  • --help: Show the help

Errors

Possible exit codes :

  • 0: all is fine :)
  • 1: Not enough arguments (host and port are required)
  • 2: Host is not a valid hostname or IP (v4 or v6)
  • 3: Problems with ports or protocols (check if you use --tcp or --udp that the option is located before the host)

Author

License

WTFPL

Logo

Original Logo from Takuya Ueda, you can find source in the repository. Licensed under the Creative Commons 3.0 Attributions license.

Modified by Simon Leblanc.

open-go-knocking's People

Contributors

leblanc-simon avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.