{"id":17469805,"url":"https://github.com/shellrow/ntap","last_synced_at":"2026-02-22T17:25:16.205Z","repository":{"id":242068591,"uuid":"808626895","full_name":"shellrow/ntap","owner":"shellrow","description":"Network traffic monitor/analyzer, with CLI/TUI. Written in Rust.","archived":false,"fork":false,"pushed_at":"2026-02-19T15:00:15.000Z","size":19801,"stargazers_count":17,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-19T18:07:15.571Z","etag":null,"topics":["cli-app","monitoring","network","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shellrow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-31T13:14:18.000Z","updated_at":"2026-01-28T08:56:05.000Z","dependencies_parsed_at":"2024-06-13T17:03:04.846Z","dependency_job_id":"ee03bff7-4b68-42a0-97e3-5733df7f6a35","html_url":"https://github.com/shellrow/ntap","commit_stats":null,"previous_names":["shellrow/ntap"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/shellrow/ntap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellrow%2Fntap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellrow%2Fntap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellrow%2Fntap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellrow%2Fntap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shellrow","download_url":"https://codeload.github.com/shellrow/ntap/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellrow%2Fntap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29720561,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T15:10:41.462Z","status":"ssl_error","status_checked_at":"2026-02-22T15:10:04.636Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli-app","monitoring","network","rust"],"created_at":"2024-10-18T15:43:49.814Z","updated_at":"2026-02-22T17:25:16.197Z","avatar_url":"https://github.com/shellrow.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"[crates-badge]: https://img.shields.io/crates/v/ntap.svg\n[crates-url]: https://crates.io/crates/ntap\n[license-badge]: https://img.shields.io/crates/l/ntap.svg\n\n# ntap [![Crates.io][crates-badge]][crates-url] ![License][license-badge]\nNetwork traffic monitor/analyzer, for Linux, macOS, and Windows.\n\n## Overview\n**ntap** is a cross-platform network traffic monitor/analyzer focused on:\n- Traffic monitoring (`monitor`)\n- Packet capture (`live`)\n\n## Usage\n### Commands\n- `ntap` or `ntap monitor` : monitor mode\n- `ntap live` : live packet capture mode\n- `ntap interfaces` : list available interfaces\n- `ntap interface` : show default interface\n\n### Common options\n- `-i, --interfaces \u003ciface1,iface2\u003e` : interface filter\n- `-P, --protocols \u003ctcp,udp,...\u003e` : protocol filter\n- `-a, --ips \u003cip1,ip2\u003e` : host filter\n- `-p, --ports \u003cport1,port2\u003e` : port filter\n- `-r, --tickrate \u003cms\u003e` : UI refresh tick (global)\n\n### Live mode options\n- `-l, --limit \u003ccount\u003e` : max packets kept in live table\n\n### Examples\n```sh\n# Start monitor mode (default)\nntap\n\n# Monitor specific interfaces and protocols\nntap monitor -i en0 -P tcp,udp\n\n# Live capture with a packet list cap\nntap live -i en0 -P tcp -l 200\n```\n\n## Prerequisites\n- Ensure you have a compatible operating system (Linux, macOS, Windows).\n\n## Installation\n\n### Install prebuilt binaries via shell script\n\n```sh\ncurl --proto '=https' --tlsv1.2 -LsSf https://github.com/shellrow/ntap/releases/latest/download/ntap-installer.sh | sh\n```\n\n### Install prebuilt binaries via powershell script\n\n```sh\nirm https://github.com/shellrow/ntap/releases/latest/download/ntap-installer.ps1 | iex\n```\n\n### From Releases\nYou can download archives of precompiled binaries from the [releases](https://github.com/shellrow/ntap/releases) \n\n### Using Cargo\n\n```sh\ncargo install ntap\n```\n\nOr you can use [binstall](https://github.com/cargo-bins/cargo-binstall) for install ntap from github release.\n```sh\ncargo binstall ntap\n```\n\n#### Build from source\nFirst, clone the repository:\n```\ngit clone https://github.com/shellrow/ntap\n```\nThen, build the project:\n```\ncd ntap\ncargo build --release\n./target/release/ntap\n```\n\n## Post-Install Configuration\n\nThe following post-install configuration steps are applicable to both the CLI version (`ntap`) and the desktop application (`ntap-desktop`).  \nThese steps ensure that `ntap` has the necessary permissions and environment setup to function correctly on different operating systems.\n\n### Post-Install (Linux)\n\n`ntap` requires elevated privileges to monitor network packets effectively. On Linux, you can configure these privileges using two main methods:\n\n#### 1. Using `setcap`\n\nGranting capabilities to the `ntap` binary allows it to operate with the necessary privileges without requiring `sudo` for each execution.  \nThis method is recommended for single-user machines or in environments where all users are trusted.\n\nAssign necessary capabilities to the `ntap` binary\n```sh\nsudo setcap 'cap_sys_ptrace,cap_dac_read_search,cap_net_raw,cap_net_admin+ep' $(command -v ntap)\n```\n\nRun `ntap` as an unprivileged user:\n```sh\nntap\n```\n\n#### Capabilities Explained:\n- `cap_sys_ptrace,cap_dac_read_search`: Allows `ntap` to access `/proc/\u003cpid\u003e/fd/` to identify which open port belongs to which process.\n- `cap_net_raw,cap_net_admin`: Enables packet capturing capabilities.\n\n#### 2. Using `sudo` (for multi-user environments)\nFor environments with multiple users, requiring privilege escalation each time `ntap` is run can enhance security.\n```\nsudo ntap\n```\n\n### Post-Install (macOS)\nOn macOS, managing access to the Berkeley Packet Filter (BPF) devices is necessary for `ntap` to monitor network traffic:\n#### Install `chmod-bpf` to automatically manage permissions for BPF devices:\n\nInstall prebuilt binaries via shell script\n```\ncurl --proto '=https' --tlsv1.2 -LsSf https://github.com/shellrow/chmod-bpf/releases/latest/download/chmod-bpf-installer.sh | sh\n```\n\nInstall prebuilt binaries via Homebrew\n```sh\nbrew install shellrow/tap-chmod-bpf/chmod-bpf\n```\n\n#### Check BPF device permissions\n```\nchmod-bpf check\n```\n\n#### Install the chmod-bpf daemon to automatically manage BPF device permissions\n```\nsudo chmod-bpf install\n```\n\n### Post-Install (Windows)\n- Ensure that you have [Npcap](https://npcap.com/#download) installed, which is necessary for packet capturing on Windows\n- Download and install Npcap from [Npcap](https://npcap.com/#download). Choose the \"Install Npcap in WinPcap API-compatible Mode\" during installation.\n\n### License\n`ntap` is released under the MIT License. See the LICENSE file for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshellrow%2Fntap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshellrow%2Fntap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshellrow%2Fntap/lists"}