I'm looking into designing a network/connection monitor program with Java and have been looking at ways i would be able to do this. It will hopefully monitor the connections between major servers running on a network. So far i've identified that i could run simple packet passing between programs running on the different servers to show that the connections are still available along with logging the times taken therefore showing the connection times between the major server.

If anyone else has any more ideas of how to get any more information about the connections that i could record using the Java programming language i would be very greatful. (e.g taffic load)

++ I've looked into SNMP but so far it seems to me as if that is used to monitor networking device running on the network (routers etc) instead of the connections between devices.