lls

Crates.iolls
lib.rslls
version0.3.0
sourcesrc
created_at2022-11-08 11:22:03.09919
updated_at2024-10-11 12:12:50.340555
descriptionlist listening sockets
homepage
repositoryhttps://github.com/jcaesar/lls
max_upload_size
id707974
size76,505
(jcaesar)

documentation

README

lls

list of listening sockets for humans

Output sample

sshd (pid 836 user root) / :22 tcp / 0.0.0.0 + ::
systemd-resolve (pid 623 user systemd-resolve)
├ :53 tcp
│ ├ 127.0.0.53 (lo)
│ └ 127.0.0.54 (lo)
├ :53 udp
│ ├ 127.0.0.53 (lo)
│ └ 127.0.0.54 (lo)
├ :5355 tcp / 0.0.0.0 + ::
└ :5355 udp / 0.0.0.0 + ::
NetworkManager (pid 733 user root)
├ :58 raw / *
└ :546 udp / fe80::eb32:98c3:7108:525d (wlan0)
systemd (pid 1 user root) / :631 tcp / 127.0.0.1 (lo)
cupsd (pid 866 user root) / :631 tcp / ::1 (lo)
.kdeconnectd-wr (pid 1245 user k900)
├ :1716 tcp / *
└ :1716 udp / *
avahi-daemon (pid 655 user avahi)
├ :5353 udp / 0.0.0.0 + ::
├ :39826 udp / 0.0.0.0
└ :49528 udp / ::

Why

ss is a powerful tool, but it not very good for my use-case:

  • Parameters. Is -loptun a good combination? I don't know.
  • Output for one socket may be broken into multiple lines.
  • Related sockets aren't always grouped together.
  • The command name isn't helpful when it's python or node.
  • The listening address isn't helpful with v6 addresses.

lls aims to do better:

  • No command line parameters necessary
  • Compact output (but hopefully not an eyesore)
  • Grouping sockets by process and port
  • Conservative command line parsing to show script names for interpreters
  • Pair listening addresses with interface names
Commit count: 69

cargo fmt