views:

668

answers:

2

I have to make a network monitoring application, under Visual C++ (Windows) What libraries or APIs do you recommend me to use?

+2  A: 

Transport Driver Interface (TDI) filters allow you to monitor network traffic.

You could also try using libpcap which powers ethereal/wireshark. This is based on Network Driver Interface Specification (NDIS).

Brian R. Bondy
+1  A: 

Few options, depending on what you really want to monitor:

  • Net-SNMP (or other SNMP library) for talking with the network equipment and getting the data from various MIBs (for example you want to collect interface counters, cpu utilization, and other goodies provided by the vendors)

  • WinPcap for doing more low-level, packet oriented things (for example capture certain types of traffic using the power and speed of BPF filters)

  • If you are interested in collecting specific type of information (NetFlow, sFlow) then I cannot help you much. There are ready tools but I'm not sure if there is any in form of a library.

  • RRDtool (If you want to show the user some nice plots)

Anonymous