Today My pal rrajbe was talking to me about a network monitoring application in Kaspersky Anti-virus. At that time I thought of doing a project of that network monitoring in Open source.
Duanedesign gave some suggestions regarding that and I am in an oscillation of selecting a language to do that project.
I will find out soon
Project Overview at the planning stage
An application that monitors the bytes sent and received in a network by mentioning each webpage name and the downloads made by it.
It must refresh after a second so that the data transfer must get updated. Same pages must get the transfer amount in a single link
Have to monitor the bytes sent and recieved
Have to monitor which application undergoes data transfer
If it is a download of upload, It must fetch the name of the file involved in it
If it is a web page, it must update it to the database, first must check whether the link is already present. If not have to add it on the database.
This must update the db per second. And it must get cleared
Whenever the internet gets disconnected
or per hour
(It must be the choice of the end user)
If there is an application, we can run it, find how much it downloaded and can ban sites to never load
If I want to limit the internet usage, My application must let me set limits for a particular website to download data. It must also temporarily ban the sites that makes un-even data transfer. Each data sent and received must store the source/destination IP to have monitoring.
It must find the scripts running on each loads of a page, must check the redirections and must report.
As said earlier, the database about the transfer must be updated to the user automatically to the user. (will add more if i think :D)
Here are some projects you can look into as they may allow to do a portion of what you are trying to do.
Analysis of the project begun. Initial plans are
Starting a channel ##net-watcher in IRC, under freenode network for discussion about the project and development.
It is planned to develop project in both Java along with C# and with python too.
Project will be soon announced in the Ubuntu Beginners dev and for Ubuntu community, once the development is started.