I have average knowledge of networking theory but I am very new to network programming. I thought that the best way to start learning about network programming was to try a challenging project. Therefore, I would like to build my own Network monitoring tool that I can use to measure network performance metrics like: throughput, latency etc. I was wandering if someone could advise me where to start, how to get data about these metrics from a simple peer-peer network and what is the most suitable programming language for network programming (java, .net etc).
Any help would be greatly appreciated (sorry about my bad English)