A co-worker told me he used crystal reports to create a real-time graph of a machine's performance once at an old job. I got to thinking...it would be a neat idea to write a program to monitor, in real-time, the bandwidth usage of say either a router or a NIC or even measure how many bit/bytes are being received/sent from a NIC.

What areas would I have to read-up on? like how to grab data from a piece of hardware etc?