GSoC/GCI Archive
Google Summer of Code 2012

Umit Project

Web Page:

Mailing List:

Umit Project is the Open Source Organization that created the original Umit Network Scanner and several other high quality network monitoring and administration tools like Packet Manipulator, Network Administrator, Network Scanner for Mobile and Network Inventory.

We're also the authors and maintainers of the Open Monitor, a world wide real time internet connectivity monitor that aims at monitoring the challenges people faces all around the world to access the internet.

If you want a real challenge this Summer, and you're looking for a solid organization that has being mentoring on Google Summer of Code for a long while, look no further! Check our ideas list and send us a proposal!


  • Develop and Improve Open Monitor Desktop Agent Open Monitor Desktop Agent, a graphical network connectivity detector robot written and used in python, currently has some bugs need to be fixed, some new features could be developed and some language should be added. My proposal is to finish Open Monitor Desktop Agent integration including the IPv6 Support, fix bugs , add some new features like enhancement in Login window, as well as some new functions such as status of the connectivity, P2P information and so on. Then, a series of tests like connectivity testing, scheduling testing, real-world simulation testing, graphic UI testing etc. in different platforms should be performed to make a release including Chinese and Japanese UI version. Finally, the technical documents and manual should be developed.
  • iOS Agent For Open Monitor Nowadays iOS platform devices are used more and more in people’s daily life. Internet connectivity is always a big problem for these mobile network users. It’s a great opportunity for Open Monitor. Many iOS devices owners will benefit from our work. This project will implement an iOS agent for Open Monitor.
  • Mobile Sniffer for Android Mobile Sniffer for Android is the application to sniff packets and decode them in a rooted android phone, it uses compiled libpcap as binary to capture packets. There can be various improvements in it such as ability to dump packets,filter packets , payload decoding to achieve application layer details. My proposal tries to complete these improvements. I will also be adding capabilities to sniff Bluetooth interface, this could be achieved by using Bluez library.
  • Network Administrator to the cloud land Network Administrator to the Cloud Land is a monitoring tool which runs on the cloud and allows users to manage their hosts and networks. Monitoring tools such as the Network Inventory send events to NA using the Rest API. An Event is a single information about what happened on a server. These events contain a message, type of event, name of network protocol, and other host information. What makes this NA different from other Network Administrators is its functionalities such as having a sharable host, storage of data on the cloud, widgets and plugins which will allow the users to develop new features according to their requirements etc. Moreover, users do not have to know about the Django architecture and NA core in order to develop plugins. The base required to run the Network Administrator has already been developed during the last Summer of Code. This summer of code mainly aims at extending the current functionalities such as an improvement of the current permission system, improved widgets and plugin API; and adding new features such as IpV6 support, Ajax support for each widget, Feeds for Skype and IRC, a comment section for each event, addition of more layers on the map, various plugins which allow users to take any action on hosts, and various visualizations in the form of graphs and charts which will help users to easily interpret data.
  • OpenMonitor - The Aggregator Open Monitor is an Internet connectivity monitor. Aggregator is the central server that gathers information from peers those are spread around the globe. Aggregator currently works on Google AppEngine. This platform offers scalability that helps handling big data. However, availability is one of the another major goals for distributed systems and peers shouldn't be affected from routing blockages and service failures (e.g. write disables) to/on AppEngine. This project aims to improve current aggregator system. First, writing a specialized slave server application that works on different platforms. This server should act as a buffer during GAE service outages and as a gateway during blockages. Second part needs analysis of agent reports and drawing a heat map to show Internet connectivity for different regions and countries. Also, IPv6 support is needed to handle IPv6 addresses.
  • OpenMonitor : Inter-Peer Routing Mechanism One core functionality required in the OpenMonitor project is dynamic scalability. Currently, the list of super-peers is stored statically in a local database. This works fine for a fixed and limited set of peers (which is never the real-time scenario where new peers emerge every second). Thus my proposal is to implement a dynamic super-peer selection and inter-peer routing algorithm for messages, based on Kademlia P2P routing mechanism. Maidsafe-DHT is the reference implementation considered. The implementation is for both the Mobile and the Desktop ICM Agent.
  • Site Status For this project, I plan to create a site monitoring platform that is easy to deploy and use and offers a high level of customization.
  • Umit Network Scanner for Android Devices Organization of the network discovery and scanning options as well as scan output of Nmap for a mobile device. Design and implementation of a clear GUI for Nmap for use on Android, parsing and representation of the scan results. Traceroute overview of hosts. Bluetooth device scanning and service enumeration app for Android.