raboof/nethogs

Linux 'net top' tool

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 55 minutes ago
Added to GitGenius on September 18th, 2026
Created on October 27th, 2013
Open Issues & Pull Requests: 104 (+0)
GitHub issues: Enabled
Number of forks: 300
Total Stargazers: 3,697 (+0)
Total Subscribers: 61 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 0.6 hours
Mean response time: 18.0 days
90th percentile: 38.9 days
Tracked items: 18

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 11
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 829 days
Stale 30+ days: 11
Stale 90+ days: 11

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (2)
  • help wanted (2)
  • information-requested (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

NetHogs is a Linux network monitoring tool that groups bandwidth usage by process.

NetHogs solves the problem of identifying which processes are consuming network bandwidth by displaying traffic aggregated per process rather than per protocol or subnet. It works by capturing packets at the user level through libpcap without requiring a kernel module, allowing you to start it immediately when unusual network activity occurs and see which process identifier is responsible. The tool relies heavily on the /proc filesystem, so full functionality including process identification is available only on Linux, though it can be built on macOS and FreeBSD where it will show connections but not associated processes.

NetHogs is a mature tool included in most Linux distributions and suits anyone who needs quick visibility into which running processes are generating network traffic. It is particularly useful for identifying runaway applications consuming bandwidth unexpectedly. The tool requires ncurses development libraries for its text-based interface and libpcap development libraries for packet capture. It can be run without root privileges by setting appropriate Linux capabilities on the executable using setcap, specifically cap_net_admin, cap_net_raw, cap_dac_read_search, and cap_sys_ptrace.

The project maintains the master branch as stable at all times. The codebase follows LLVM coding standards with documented exceptions, and contributors are expected to format new code using the provided make format target. Pull requests that fix style issues are welcomed but should not be mixed with functional changes. The project tracks open enhancement ideas and bugs through its issue tracker.