#nushell-plugin #nushell #networking #tcp-port #plugin

app nu_plugin_port_list

A nushell plugin to list all active connections

11 stable releases

new 1.4.6 Jan 3, 2025
1.4.3 Sep 19, 2024
1.4.2 Aug 26, 2024
1.2.10 Feb 12, 2024
1.2.2 Nov 15, 2023

#726 in Network programming

29 downloads per month

MIT and maybe CC-PDDC

22KB
343 lines

nu_plugin_port_list

A nushell plugin to display all active network connections. similar to netstat -ntp

Important: to list pid correctly it needs to run as a privileged user (root)

  • flags
  -6, --disable-ipv4 - do not fetch ipv4 connections (ipv6 only)
  -4, --disable-ipv6 - do not fetch ipv6 connections (ipv4 only)
  -t, --disable-udp - do not fetch UDP connections (TCP only)
  -u, --disable-tcp - do not fetch TCP connections (UDP only)
  -p, --process-info - loads process info (process_name, cmd, binary path, ...)

Examples

  • list all open ports
~> port list
type ip_version local_address local_port remote_address remote_port state pid
tcp 4 0.0.0.0 22 0.0.0.0 0 LISTEN 1000
tcp 4 192.168.100.8 42352 ... 780 ESTABLISHED 9343
tcp 4 192.168.100.8 60564 ... 443 ESTABLISHED 2899
tcp 4 127.0.0.1 38946 127.0.0.1 7890 ESTABLISHED 3376
tcp 4 127.0.0.1 50180 127.0.0.1 37921 ESTABLISHED 7620
  • list all open tcp port that are in LISTEN state and using local address 0.0.0.0
~> port list | where state == LISTEN and local_address == 0.0.0.0
type ip_version local_address local_port remote_address remote_port state pid
tcp 4 0.0.0.0 7070 0.0.0.0 0 LISTEN 993
tcp 4 0.0.0.0 3306 0.0.0.0 0 LISTEN 9953
tcp 4 0.0.0.0 9000 0.0.0.0 0 LISTEN 1525
tcp 4 0.0.0.0 8585 0.0.0.0 0 LISTEN 10693
tcp 4 0.0.0.0 22 0.0.0.0 0 LISTEN 1000
  • get process that is listening on a port
~> port list -t4p
type ip_version local_address local_port remote_address remote_port state pid process_name cmd exe_path process_status process_user process_group process_effective_user process_effective_group process_environments
tcp 4 127.0.0.1 631 0.0.0.0 0 LISTEN 986 cupsd /usr/sbin/cupsd -l /usr/sbin/cupsd Sleeping 0 0 0 0 [LANG=en_US.UTF-8,...]

Installing

git clone https://github.com/FMotalleb/nu_plugin_port_list.git
nupm install --path nu_plugin_port_list -f
  • or compile manually
git clone https://github.com/FMotalleb/nu_plugin_port_list.git
cd nu_plugin_port_list
cargo build -r
plugin add target/release/nu_plugin_port_list
  • or using cargo
cargo install nu_plugin_port_list
plugin add ~/.cargo/bin/nu_plugin_port_list

Dependencies

~24–54MB
~1M SLoC