NetHogs is a small 'net top' tool. Instead of breaking the traffic down per protocol or per subnet, like most tools do, it groups bandwidth by process. NetHogs does not rely on a special kernel module to be loaded.

Project Activity

See All Activity >



Follow NetHogs - 'net top' per process

NetHogs - 'net top' per process Web Site

Other Useful Business Software

The First VoIP Communications Cloud in the World The First VoIP Communications Cloud in the World Icon
The First VoIP Communications Cloud in the World Icon

The Smarter Business Phone Solution

  • Powerful Unified Communication Features
  • Fast, Easy, Free Setup & Install
  • Trusted by 47,000+ Companies in 100 Countries

Rate This Project

Login To Rate This Project

User Ratings

ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5

User Reviews

  • Really appreciated. Please keep up-to-update.

  • NetHogs is incredibly useful for curious users such as myself. Whenever my network usage spikes, I like to know what is causing it. NetHogs makes this task trivial, especially when paired with a bash alias (nio) so I don't have to type 'sudo nethogs enp4s0' all the time. Thank you for your hard work on this program!

  • An excellent one command tool, that breaks up the whole bandwidth usage per process. A must have for Linux users!

  • very useful and simple! can be started with -t option and the log be captured and reused! (I just miss it be updated on ppa as big max_pid reqs cvs download)

  • Pretty useful tool. However, I could not get the trace mode work. However I was able to find a fix. Since I could not create ta bug, I'm adding the details here hoping that it would be useful to others. The trace mode is not working in version 0.8.0, but is is working in 0.7.0 #sudo nethogs -t em1 Adding local address: Ethernet link detected Waiting for first packet to arrive (see bug 1019381) The program does not report any data. A gdb session revealed that the getmaxyx () call in do_refresh () of cui.cpp is was returning -1 and causing the do_refresh() return without reporting any data. Moving the getmaxyx () and few subsequent statements to the else part of "if (DEBUG || tracemode)" solved the problem for me.

Read more reviews >

Additional Project Details



Intended Audience

System Administrators

User Interface


Programming Language