5 releases (3 breaking)
new 0.4.1 | Apr 1, 2025 |
---|---|
0.4.0 | Mar 29, 2025 |
0.3.0 | Oct 11, 2024 |
0.2.0 | Jul 15, 2023 |
0.1.0 | Nov 8, 2022 |
#615 in Command line utilities
114 downloads per month
59KB
1.5K
SLoC
lls
list of listening sockets for humans
Output sample
sshd (pid 836 user root) / :22 tcp / 0.0.0.0 + ::
systemd-resolved (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 (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
lls
selling points:
- Requiring no parameters
- Having a compact output format
- Grouping output by process and port
- Summarizing script interpreter command lines
- Showing interface names for listening addresses
- Explaining wireguard and vxlan listening ports
More specifically
ss
has a nice short command, but then you need a lot of arguments. But which?-lpunt
? (Though of course,ss
can do thingslls
can't, like printing established connections or unix sockets.)ss
output requires ~160 columns, whilells
makes do with ~60.ss
output order is unfathomable.- For interpreters,
ss
will just display the command name, e.g.python
ornode
.lls
tries to parse the command line of the interpreters and display the script name where possible. ss
prints almost no information for listening ports belonging to WireGuard or VXLAN interfaces, and what it prints is more confusing than helpful.
Dependencies
~8–17MB
~257K SLoC