Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marirs/traffiq
Traffiq is like a netcat which can listen for incoming network traffic from tcp(s)/http(s)/udp/uds. It can also scan or connect like netcat.
https://github.com/marirs/traffiq
listener netcat netcat-listener remote-connection rust rust-lang traffiq
Last synced: about 1 month ago
JSON representation
Traffiq is like a netcat which can listen for incoming network traffic from tcp(s)/http(s)/udp/uds. It can also scan or connect like netcat.
- Host: GitHub
- URL: https://github.com/marirs/traffiq
- Owner: marirs
- License: apache-2.0
- Created: 2024-02-10T05:42:15.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2024-02-14T09:59:13.000Z (10 months ago)
- Last Synced: 2024-04-01T13:32:11.271Z (9 months ago)
- Topics: listener, netcat, netcat-listener, remote-connection, rust, rust-lang, traffiq
- Language: Rust
- Homepage:
- Size: 40.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Traffiq
[![Windows](https://github.com/marirs/traffiq/actions/workflows/windows.yml/badge.svg?branch=master)](https://github.com/marirs/traffiq/actions/workflows/windows.yml)
[![macOS](https://github.com/marirs/traffiq/actions/workflows/macos.yml/badge.svg?branch=master)](https://github.com/marirs/traffiq/actions/workflows/macos.yml)
[![Linux x86_64](https://github.com/marirs/traffiq/actions/workflows/linux_x86-64.yml/badge.svg?branch=master)](https://github.com/marirs/traffiq/actions/workflows/linux_x86-64.yml)
[![Linux Arm7](https://github.com/marirs/traffiq/actions/workflows/linux_arm7.yml/badge.svg?branch=master)](https://github.com/marirs/traffiq/actions/workflows/linux_arm7.yml)Traffiq is a simple utility which reads and writes data across network connections, using HTTP, TCP or UDP protocol. It is designed to be a reliable "back-end" tool that can be used directly or easily driven by other programs and scripts.
A netcat inspired implementation written in Rust. It implements the following features:
- [x] Connect to Remote Host
- [x] Create a tcp(s)/http(s)/udp/uds server
- [x] Handle multiple connections to the server
- [x] Send and receive data from the server
- [x] Connect to hosts over TLS
- [x] Reverse shell to execute code on remote hosts.### Requirements
- Rust v1.75+
### Usage
```
./traffiq --help
A netcat equivalent in pure rust.Usage: traffiq
Commands:
listen Start a listener for incoming connections
connect Connect to the controlling host
scan Scan a host for open ports
help Print this message or the help of the given subcommand(s)Options:
-h, --help Print help
-V, --version Print version
```
or```
./traffiq listen --help
Usage: traffiq listen [OPTIONS] --portArguments:
The host to bind the listener toOptions:
-p, --port The port to bind the listener to
--tls Use TLS for the connection. Used with TCP and HTTP
--cert The path to the certificate to use for TLS
--key The path to the key to use for TLS
--udp Use UDP for the connection
--http Use a HTTP server for the connection
--uds Use aa UDS server (Unix only) for the connection
--uds-path The path to the UDS socket (Unix only)
-e, --exec Execute a command on each incoming connection. (Use Caution!)
-h, --help Print help
-V, --version Print version
```or
```
./traffiq connect --help
Usage: traffiq connect [OPTIONS] --portArguments:
The host to connect toOptions:
-p, --port The port to connect to
--tls Use TLS for the connection
--uds Connect to a UDS socket (Unix only)
--uds-path The path to the UDS socket (Unix only)
--ca The path to the certificate to use for TLS
--udp Connect using UDP
--listen-port The port to listen on for UDP connections
-e, --exec Execute a command on the remote host upon connection. (Use Caution!)
-h, --help Print help
-V, --version Print version```
### Examples
```bash
# Start a tcp server on port 9000
traffiq listen localhost --port 9000
```
```bash
# Connect to a tcp server on port 9000
traffiq connect --port 9000 localhost
```
```bash
# Start a tcp server on port 9000 and execute a command on each incoming connection
traffiq listen localhost --port 9000 --exec "echo 'Hello World'"
```
```bash
# Start a TLS server on port 9000
traffiq listen localhost --port 9000 --tls --cert /path/to/cert --key /path/to/key
```
```bash
# Start a UDP Server on port 8000
traffiq listen localhost --port 8000 --udp
```
```bash
Start a HTTP server on port 9000
traffiq listen localhost --port 9000 --http
```---
Sriram