Giter Site home page Giter Site logo

netprobes's Introduction

NetProbes : distributed troubleshooting

This project intends to propose a way to test your network in a distributed fashion. The idea is to be able to cooperate with other peers running the NetProbes program in order to inspect the state of the network.

It does so by establishing a overlay of probes running on each node you wish to test. Once probes are up and running, it is up to you to connect the probes together and start the test.

General workflow is as follows :

  1. install the application on the computers/servers you wish to test
  2. use the commander to command one probe with add, do and remove commands
  3. launch tests an get the results !

You can write your own tests in the (probe.)tests package. There are two kinds of tests:

  • (probe.)interfaces.StandaloneTest : test that do not require the cooperation of the targets of the tests (eg: ping)
  • (probe.)interfaces.ProbeTest : test that require cooperation (eg: open TCP connection)

Those tests should respectively be placed in the (probe.)tests.standalone and (probe.)tests.probes packages. They can both use methods provided by the (probe.)WatcherServices and must implement the prescripted interfaces.

##Notice##

Developpment is in progress and results are currently unknown!!

Implementation is based on python 3 and does not require (as of today) any external package other than the basic python installation.

##Technical details##

Communication between the probes is done via the classes in (probe.)inout.protocol and (probe.)inout.codec which are respectively in charge of sending/receiving data accross the network and translating python objects into data suitable for transmission. The both have interfaces defined in the (probe.)interfaces.inout package.

In the current implementation, synchronisation between the probes is done via http (as it is the least blocked protocol), so be sure that this is allowed between probes. This is required for the project to work!!

netprobes's People

Contributors

netixx avatar gaspi avatar

Watchers

Dario Rossi 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.