Tuesday, July 26, 2011

Network Performance Tools

Links to some of the most useful free open source tools available for network performance testing, debugging, and monitoring. You may already have some of these installed on your system. Some may be available via RPM or the BSD ports library, etc. These links take you to the source/homepage for each tool. All of these run on Linux/Unix, but many of them also have Windows ports.

Connectivity and Path Testing

    You probably already have these:
  • ping / ping6
  • traceroute / traceroute6
  • tracepath / tracepath6
  • Above are in Linux packages iputils and traceroute. Windows comes with ping/ping6, tracert/tracert6, and pathping.
    Additional related tools:
  • synack - a tcp version of ping
  • fping - ping a list of machines, see what is up
  • traceroute - The "NANOG Traceroute". May have features that your traceroute does not, such as mtu discovery.
  • tcptraceroute - good for finding where ports are blocked. Some modern traceroutes can do the same thing (select protocol TCP).
  • Layer Four Traceroute (LFT) - a fairly powerful TCP traceroute
  • Paris Traceroute - features for tracing load balanced paths
  • scamper - a powerful, scriptable, parallel destination traceroute
  • nmap - for finding open/closed/filtered ports
  • mtr - a combined graphical ping/traceroute tool
  • mturoute.exe - a Windows app for finding path mtu

Multicast Tools

TCP/UDP Testing

Internet2's Testing Tools

  • owamp - one way ping
  • bwctl - front end controller to iperf

Packet Capture and Display

  • wireshark - a network sniffer / protocol analyzer (formerly ethereal)
  • tcpdump - raw packet capture (windows version)
  • tcptrace - tcp data and graphs from tcpdump files
  • xplot - essential for viewing tcptrace output (or get the version on the tcptrace website, which includes a windows port link)
  • gnuplot - good for general purpose graphs
  • xgraph - great for quick and simple graphs (old but good)

Utilization, Monitoring, Flows

  • MRTG - Multi Router Traffic Grapher (loved by all)
  • rrdtool - Round Robin Database Tool (MRTG's little brother)
  • Net-SNMP - SNMP library and tools
  • flow-tools - tools for NetFlow data
  • sflowtool - useful in the translation of sflow to pcap
  • ntop - NetFlow/SFlow analysis and web interface
  • Nagios - powerful open source network monitoring

Tools for Advanced Users Only

  • abing - available bandwidth estimation
  • pchar - path characterization
  • pathrate/pathload - available bandwidth and link capacity estimation
  • abget - available bandwidth estimation from web servers
  • netpipe - a Network Protocol Independent Performance Evaluator
  • hping - the swiss army knife of pings
  • drtcp - performance tuning tool for Windows
  • mping - a windowed ping
  • Note that Microsoft has a multicast ping called mping.
  • web100 - Linux kernel mods/tools for performance debugging
    • If you have a web100 kernel, you can use these tools:
    • ndt - Network Diagnostic Tool
    • npad - Network Path and Application Diagnosis