{"id":25298669,"url":"https://github.com/fmotalleb/nu_plugin_port_extension","last_synced_at":"2026-03-01T03:06:36.265Z","repository":{"id":276821093,"uuid":"930409002","full_name":"fmotalleb/nu_plugin_port_extension","owner":"fmotalleb","description":"A nushell plugin to list all active connections and scanning ports on a target address (replacement of both nu_plugin_port_scan and nu_plugin_port_list since 0.102)","archived":false,"fork":false,"pushed_at":"2026-02-03T01:23:21.000Z","size":418,"stargazers_count":16,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-03T15:36:13.066Z","etag":null,"topics":["netcat","netstat","nushell","portscanner"],"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/fmotalleb.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":"2025-02-10T15:34:11.000Z","updated_at":"2026-02-03T01:23:24.000Z","dependencies_parsed_at":"2026-01-19T03:02:01.173Z","dependency_job_id":null,"html_url":"https://github.com/fmotalleb/nu_plugin_port_extension","commit_stats":null,"previous_names":["fmotalleb/nu_plugin_port_extension"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/fmotalleb/nu_plugin_port_extension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmotalleb%2Fnu_plugin_port_extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmotalleb%2Fnu_plugin_port_extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmotalleb%2Fnu_plugin_port_extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmotalleb%2Fnu_plugin_port_extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fmotalleb","download_url":"https://codeload.github.com/fmotalleb/nu_plugin_port_extension/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmotalleb%2Fnu_plugin_port_extension/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29959284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T01:47:18.291Z","status":"online","status_checked_at":"2026-03-01T02:00:07.437Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["netcat","netstat","nushell","portscanner"],"created_at":"2025-02-13T04:42:32.241Z","updated_at":"2026-03-01T03:06:36.214Z","avatar_url":"https://github.com/fmotalleb.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔌 nu_plugin_port_extension  \n\nA [Nushell](https://www.nushell.sh/) plugin for inspecting open ports and scanning network services. It introduces two subcommands:  \n\n- **`port list`**: Lists all open network connections, similar to `netstat`.  \n- **`port scan`**: Scans a target IP and port to determine if it is open.  \n\n---\n\n## ✨ Features  \n\n### **`port list`** – List Active Connections  \nThe `port list` command retrieves all open connections on the network interface. It supports filtering by protocol, IP version, and listening state.  \n\n#### 📌 Usage  \n```bash\nport list {flags}\n```  \n\n#### ⚙️ Available Flags  \n- `-h, --help`                 → Show help message.  \n- `-6, --disable-ipv4`         → Exclude IPv4 connections (only show IPv6).  \n- `-4, --disable-ipv6`         → Exclude IPv6 connections (only show IPv4).  \n- `-t, --disable-udp`          → Exclude UDP connections (only show TCP).  \n- `-u, --disable-tcp`          → Exclude TCP connections (only show UDP).  \n- `-l, --listeners`            → Show only listening connections (`state == \"LISTEN\"`).  \n- `-p, --process-info`         → Include process details (name, command, binary path).  \n\n#### 🔍 Example: Show Active Processes  \n```bash\nport list -p | take 1\n```  \n\n#### 📊 Example Output  \n|pid  |type|ip_version|local_address|local_port|remote_address|remote_port|state      |process_name|cmd                                               |exe_path                              |  \n|-----|----|----------|-------------|----------|--------------|----------|-----------|------------|--------------------------------------------------|--------------------------------------|  \n|11536|tcp |4         |127.0.0.1    |1093      |127.0.0.1     |1108      |ESTABLISHED|steam.exe   |[C:\\Program Files (x86)\\Steam\\steam.exe, -silent]|C:\\Program Files (x86)\\Steam\\steam.exe|  \n\n---\n\n### **`port scan`** – Scan Open Ports  \nThe `port scan` command checks if a specific port is open on a target IP, similar to `nc -vz {ip} {port}`.  \n\n\u003e **⚠️ Note:** Only **TCP** scanning is supported at the moment.  \n\n#### 📌 Usage  \n```bash\nport scan {flags} \u003ctarget IP\u003e \u003cport\u003e\n```  \n\n#### ⚙️ Available Flags  \n- `-h, --help`                 → Show help message.  \n- `-t, --timeout \u003cduration\u003e`   → Set timeout before giving up (default: 60s).  \n- `-s, --send \u003cstring\u003e`        → Send data to the target upon connection.  \n- `-b, --receive-byte-count \u003cint\u003e` → Number of bytes to receive before confirming the connection is open.  \n\n#### 🎯 Parameters  \n- **`target IP`** *(string)* – The IP address to scan.  \n- **`port`** *(integer)* – The port number to check.  \n\n#### 🔍 Example: Check if Google's Public DNS (8.8.8.8) has Port 53 Open  \n```bash\nport scan 8.8.8.8 53 -t 1sec\n```  \n\n#### 📊 Example Output  \n```\n╭─────────┬─────────╮  \n│ address │ 8.8.8.8 │  \n│ port    │ 53      │  \n│ is_open │ true    │  \n│ elapsed │ 40ms    │  \n╰─────────┴─────────╯  \n```  \n\n#### 🔄 Example: Scan a Range of Ports on `127.0.0.1` and Filter Open Ports  \n```bash\n7880..8000 | each { |it| port scan 127.0.0.1 $it -t 1ms } | where is_open\n```  \n\n---\n\n## 🔧 Installation  \n\n### 🚀 Recommended: Using [nupm](https://github.com/nushell/nupm)  \nThis method automatically handles dependencies and features.  \n```bash\ngit clone https://github.com/FMotalleb/nu_plugin_port_extension.git  \nnupm install --path nu_plugin_port_extension -f  \n```  \n\n### 🛠️ Manual Compilation  \n```bash\ngit clone https://github.com/FMotalleb/nu_plugin_port_extension.git  \ncd nu_plugin_port_extension  \ncargo build -r  \nplugin add target/release/nu_plugin_port_extension  \n```  \n\n### 📦 Install via Cargo (using git)  \n```bash\ncargo install --git https://github.com/FMotalleb/nu_plugin_port_extension.git  \nplugin add ~/.cargo/bin/nu_plugin_port_extension  \n```  \n\n### 📦 Install via Cargo (crates.io) _Not Recommended_  \n\u003e *Since I live in Iran and crates.io often restricts package updates, the version there might be outdated.*  \n```bash\ncargo install nu_plugin_port_extension  \nplugin add ~/.cargo/bin/nu_plugin_port_extension  \n```  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffmotalleb%2Fnu_plugin_port_extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffmotalleb%2Fnu_plugin_port_extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffmotalleb%2Fnu_plugin_port_extension/lists"}