Giter Site home page Giter Site logo

yuzhoumao / conjure Goto Github PK

View Code? Open in Web Editor NEW

This project forked from refraction-networking/conjure

0.0 1.0 0.0 2.28 MB

Conjure Refraction Networking station code

Home Page: https://refraction.network

Makefile 0.28% Go 10.72% Rust 36.26% C 10.52% Shell 0.62% TeX 24.50% Gnuplot 16.18% Python 0.63% Dockerfile 0.29%

conjure's Introduction

dark-decoys

Install

Install dependencies

sudo apt install libzmq3-dev redis-server
go get -d -u -t github.com/refraction-networking/gotapdance/...
go get -d github.com/go-redis/redis

Install PF_RING

  1. Install PF_RING kernel module

  2. Install PF_RING Libpfring and Libpcap

Build the station

make

#future
# sudo make install

Setup

# Add prerouting rules for ipv4 and ipv6 to Destination NAT (DNAT) to change destination IP addr
sudo iptables -t nat -I PREROUTING 1 -p tcp -i tun0 -j DNAT --to 192.122.200.231:41245
sudo ip6tables -t nat -I PREROUTING 1 -p tcp -i tun0 -j DNAT --to [2001:48a8:687f:2::2]:41245

# Disable Reverse_Path Filtering so that we may deal with spoofed addresses.
sudo sysctl -w net.ipv4.conf.tun0.rp_filter=0

# Make sure INPUT iptables has an accept for `tun0` (isn't blocking packets after they're DNAT'd)
sudo iptables -I INPUT 1 -i tun0 -j ACCEPT
sudo ip6tables -I INPUT 1 -i tun0 -j ACCEPT


# Repeat for `tun1`/`tun2`/`tun3`/etc... if you have multiple cores
# ...

Run

> dark_decoy  -c <cluster_id> -i zc:<iface> [opts]

# Options

#     REQUIRED
#     -c  <cluster_id> - The cluster id specified to PF_RING when starting `zbalance_ipc`
#     -i  <g_iface_name> - The interface on which PF_RING Zero Copy is running.

#     OPTIONAL
#     -n  <cpu_procs> - Number of cores to be used (default -1 = all cores)
#     -s <skip_core> - specify core_id to be skipped when allocating threads.
#     -K <keyfile_name> - Specify custom private key to be used by station
#     -a <zmq_address> - Custom Address of ZMQ server

#     DEBUG
#     -l <log_interval> - In seconds, interval between logging of bandwidth, tag checks/s, etc.
#     -o <core_affinity_offset> - Start processes on $core_affinity_offset+$cpu_procs.
#             This allows us to run debug/production pf_rings on different cores
#             entirely (which rust likes), and with different cluster_ids.

conjure's People

Contributors

carsonhoffman avatar ewust avatar jmwample avatar nikitaborisov avatar nzimm avatar rgennt avatar sergeyfrolov avatar yuzhoumao avatar

Watchers

 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.