We have around 300 machines. How can we monitor the network using an Ubuntu machine so that we can find out which node is broadcasting, traffic monitoring, also trying ntop.
karthick87 has the answer, but just to amplify it your monitoring has to be distributed amongst the 300 end-stations and cannot be simply centralized to one point.
The biggest reason this is necessary is that you are probably using a switched (not shared) network hub so no single point is capable of seeing all the traffic on the net. SNMP is certainly old-school, partly because it works.
I found this bijk, is free only for one server. Is a commercial solution and you can use it with a lot of Linux distributions (and of course with Ubuntu).