GithubHelp home page GithubHelp logo

ender2k13 / netsplitter Goto Github PK

View Code? Open in Web Editor NEW
1.0 0.0 1.0 129 KB

Share the internet connection by splitting the monthly bandwidth and generates reports for usage of each user

C++ 2.87% C 97.13%

netsplitter's Introduction

First Module to complete ---- No dependency on any other module. Requires knowledge of pcap library (or winpcap for windows)
packet capture module ----- Identify the interface, Sniff the interface, Capture the packet, Packet Abstraction
	Interface identifier ---- holds a struct for interface on which to capture packets
	Packet struct and functions on top of a packet --- Provides an abstraction for Packet - (acts as a Packet object in OOPS terms)
	Sniffer --- Given an interface, sniffs for packets and store them in Packet objects
	Module controller ---  Performs the logical steps this module has to perform - Identify the interface, sniff the interface, store 					the packets in Packet objects

Second module --- Has dependency on Packet capture module
Packet Analyser module --- Take each packet and analyze it. Discard unwanted packages and send required packages for further analysis


Need to research on a good Unit test framework for C. Also should use Doxygen for documentation.


No dependency. Can be done whenever required.
Logger Module --- to log any messages. Also to have control of what and how to log once the project becomes to big


Once the basic setup of sniffer and analyser is done, we can work on this. Not required in the early stages.
Mailer Module --- Mail messages appropriately by connecting to a remote smtp server---Need to think whether to do it using a simple smtp server or to use a Website and call php scripts


Once sniffer and analyser is done, we need to work on this in coordination with anything we add. Should be well thought out.
Analytics Module --- Keep track of all kinds of data. Every single kind of data may be used in the future for some kind of report. DO NOT LOG ANY ACTUAL PACKET DATA :)

Can be done independent of sniffer and analyser whenever we need. Dependency on Analytics Data Model finalization. Should be well thought out.
Reports Module --- Generate reports based on the data collected by analytics module
This should be written in such a way that the reports can be generated using different kinds of languages. Basically the data structs should be well serialized.



The data collected by analytics module to be stored in sql database. Reports module queries the same and generates reports.
This way, we can have a web interface too for the users to check the analytics data.

	

netsplitter's People

Contributors

ender2k13 avatar

Stargazers

xuxian avatar

Forkers

xiaobfly

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.