Umit

Umit
Showing posts with label google umit summer code. Show all posts
Showing posts with label google umit summer code. Show all posts

Wednesday, June 25, 2008

Umit's Manipulations of Packets Art

Umit's Manipulations of Packets Art (UMPA in shortcut) is a new library provided by Umit Project.

This library is being developed during Google Summer Of Code 2008 [0] by myself. I'm going to introduce you in this project in this and probably next articles. Enjoy your reading!

Packet Manipulation

There is a lot of practicable for manipulation of packets. It's really important for administrators, hackers etc. If you want to research a network and how it works, sometimes you have to send some specific packets.

There are some applications like hping[1], impacket[2] or scapy[3] which give you some hand with it. So, why yet another tool for this job? Well, there are a lot of common issues with them. Dissatisfied licencse, poor abilities, unmaintainable code etc. So the fact is, there isn't any solid, easy to use and useful application which helps you control your packets over network.

And that's why Umit is going to provide another library for packets manipulation. In a wider range than it was done so far, with nice API and front-end for Umit's users.

Of course there was a discussion about reasons to write completely new library and maintain some existing code. At last we decided that the best option for Umit Project and all of you, is to write our own library.

Features

Ok, so I'm developing a backend for packet manipulation, with really funny name UMPA ;-) Now, I will say a bit about features which will be provided. The library is splitted on 3 modules.

  1. CORE (with main API)
  2. PROTOCOLS
  3. EXTENSIONS

You will use all of them, and you can easiy extend the last 2. PROTOCOLS is a module with one main class for any protocols and some predefined PROTOCOLS (like IP, TCP, SMTP, etc.). So you can easily build your packets with those protocols (by including every single protocols in other one). In fact, you will get layered packets. If you missed any protocols, you would simple write new protocols by subclassing main class and extending your new class.

Ok, so we have got a brief introduction about building packets. Exluding some standard actions (like setting source address up) I will be able to do a bit more. First of all, you can manipulate packets in 2 ways. Single bit manipulation and field manipulation. Of course some fields will be auto-generated (like checksums), but at least you will be able to modify them as well. Another feature is auto-filling fields (what I described above on the checksum example). There will be templates system. You can create a template of your packets, for dynamic generating of new packets. This template system will allow to iterate over values, use conditions etc. And it will be really powerful with our sniffing feature. Yep, I'm going to add sniffing system (using libpcap). So finally, your packets will be intelligent. Cause they will generate values from fields depending on receiving packets. All of this is what I called EXTENSIONS. And I hope, you will write some others useful extensions and share with all of us. There are some other of them which I will develop in the future. Like template-wizard etc.

Ok, that is everything for this time. If you have any suggestions, or if you want just write your opinion about this library, feel free to write me an email.

References

Sunday, May 25, 2008

Preferences Window and Independent Features

Last year I was a student that development Interface Editor. It's not implemented on Umit but I hope that in the next two months my project and others like umitMapper and NetworkInventory will be there.

This week began officially Google Summer Code 2008.

So what's come from me this Summer?

I don't know if all of you know but Umit is a (powerful and it'll become more, I hope) interface of Nmap. Nmap is a port scanner. So work on Umit is help nmap users, we're working for the nmap interface remmember? Goal of Umit is create a usability, portable and nice front-end scanner. All network admin should be able to have the most and filtered information that they need, using Umit.


What's matter?
- Preferences Window
- Interface Editor (bug fixing and some improvements)
- Independent Features

Preferences Window:
- Well today all applications have Preferences encapsulated on a box. Umit not have this yet. It's my main goal build a box that contents all configuration of Umit (only the configs that make sense).
- Proxy config (may be include a study around proxychains)
- Fonts configuration
- Expose of Windows (It's adding new features to InterfaceEditor)
- Diff color configuration
- Tabs (able to Open in different window )
- Configuration files directories
- Auto-save scans option
- Add more features that I don't list yet. (...)
Requirement: Consult frequently HIG.

Interface Editor: During and after integration I'll make bug fixing and improvements on it.

Indepedent Featuatures:
- MacPorts - portfile
- Ubuntu/Debian package ( Umit comes to Ubuntu/Debian )
- RPM package ( Fedora package )
- Script to build automatic Ubuntu and Fedora Packages
- Some improvements on Umit after and during Integration
- Update and create useful Profiles and may be some integration with NSE scripts (Parser NSE was make by Max last GSoC)
- Write decent documentation
- Create a easy way to user can have more help (Something like Umit Assistant)
- Work in what have major priority



If you have some ideas, features that you think that is nice bet for Umit let me know, please.

Project Page:

http://trac.umitproject.org/wiki/PreferencesWindow

Timeline:

http://trac.umitproject.org/wiki/PreferencesWindow/Timeline


Good luck for all.

Tuesday, April 08, 2008

Application submissions are officially over

As Leslie[0] announced, applications are in and submission is over. We had 28 applications, just the same number we had last year. The overall quality of the applications have increased, and I believe we didn't have more applicants because of the growth of participants organizations that have spreaded students.

Today, I started our new evaluation process, which will require more interaction and dedication from proponents. Hopefully, the selection criteria will help hunt some bugs on Umit and increase the number of documentation relatated to the project.

In order to spread the word about GSoC and Umit, I made a video and secured some translations to it. You can view them all in this link: http://www.umitproject.org/ideas and they're going to be there for a while until we create a separate section to hold Umit videos in our website.

The amount of views we had for the different translations of the video were:
  • Portuguese/Brazil - 1.183 views
  • Portuguese/Portugal - 44 views
  • Spanish - 340 views
  • English - 1.232 views
  • Total - 2.699 views of our video

[0] - http://google-opensource.blogspot.com/2008/04/applications-are-in.html