GithubHelp home page GithubHelp logo

yudevan / bouncer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nataliparats/bouncer

0.0 1.0 0.0 120 KB

The purpose of this assignment is to implement a packet bouncer that will capture packets in the network interface level by a client and will forward those packets to a remote server using raw sockets. For advanced level, the authors have implemented a “ping” bouncer, a TCP bouncer and an FTP proxy function.

bouncer's Introduction

=====================  Compile  =====================

To compile, Run the script: "./build.sh" or use the command "make".

=======================  Run  =======================

To run, the application, Run the script bouncer.sh using the syntax:

"./bouncer.sh <listen_ip <listen_port <server_ip <server_port"

*server_ip: Should be the IP address (name are not supported) of the server where the traffic will be forward by the bouncer.
	    It should respect the format of an IPv4 address (ex: 192.168.0.1)
*server_port:Should be the port of the server where the traffic will be forward by the bouncer.
	    It should respect the format of port number [1..65535]
*listen_ip: The "Fake IP" of the bouncer. The bouncer will only take of traffic send to this IP and drop other traffic.
	    It should respect the format of an IPv4 address (ex: 192.168.0.1), name are not supported
*listen_port: The listen port of the bouncer.  For TCP, The bouncer will only take of traffic send to this port and drop other traffic.
	    For ICMP traffic this port will be ignored.
	    It should respect the format of port number [1..65535]

====================== IP addressing issues ========

In order to be able to reach the "Fake IP" of the bouncer, you need to add some static route.


===================== libraries ====================

* Standard librairies
stdio.h
stdlib.h
string.h
errno.h
ctype.h

* PCAP lib
pcap.h

* Standard networking lib
sys/socket.h
netinet/in.h
arpa/inet.h

* Packets header lib
net/if.h
netinet/if_ether.h
netinet/ip.h
netinet/ip_icmp.h
netinet/tcp.h

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.