我曾经netstat -anlptu
检查开放端口。
这个命令现在有点不推荐使用,所以我开始使用,ss -anptu
但每个条目需要 2 行。结果并不实用。
我用的是Debian。
netstat -anlptu
:
tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN -
tcp 0 0 192.168.0.106:xxxxx 192.0.x.y:443 ESTABLISHED 5081/firefox
易于阅读且清晰。
ss -anptu
:
tcp LISTEN 0 20 127.0.0.1:25 *:*
users:(("exim4",pid=823,fd=3))
tcp LISTEN 0 128 *:22 *:*
users:(("sshd",pid=807,fd=3))
tcp ESTAB 0 272 192.168.1.200:22 78.224.x.y:36028
users:(("sshd",pid=849,fd=3),("sshd",pid=840,fd=3))
tcp LISTEN 0 20 ::1:25 :::*
users:(("exim4",pid=823,fd=4))
tcp LISTEN 0 128 :::22 :::*
users:(("sshd",pid=807,fd=4))
这显然不容易读懂。
有些列未对齐。
如果我重定向到less
或more
:
tcp LISTEN 0 20 127.0.0.1:25 *:* users:(("exim4",pid=823,fd=3))
tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=807,fd=3))
tcp ESTAB 0 40 192.168.1.200:22 78.224.x.y:36028 users:(("sshd",pid=849,fd=3),("sshd",pid=840,fd=3))
tcp LISTEN 0 20 ::1:25 :::* users:(("exim4",pid=823,fd=4))
tcp LISTEN 0 128 :::22 :::* users:(("sshd",pid=807,fd=4))
每个条目占一行,但列不对齐。再次阅读并不容易
--> 如何获得可读的输出ss
?
答案1
使用column
。例如:
ss -anpt | column -t -x | less
我得到的输出如下:
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 127.0.0.1:143 0.0.0.0:*
LISTEN 0 100 0.0.0.0:465 0.0.0.0:*
LISTEN 0 128 0.0.0.0:42449 0.0.0.0:*
LISTEN 0 10 0.0.0.0:5298 0.0.0.0:* users:(("pidgin",pid=30003,fd=19))
注意:我运行的终端宽度为 282 列(使用 Liberation Mono Regular 11 的 1440p 屏幕上的最大宽度终端)。 YMMV 在较窄的终端上。
column
执行columns
与autogen
.它可以很好地将文本自动格式化为表格列。
我不确定 的原始来源column
来自哪里,但在 debian 系统上,它位于bsdmainutil
包中。它可能位于其他 Linux 发行版上类似名称的包中。
Package: bsdmainutils
Version: 11.1.2
Description-en: collection of more utilities from FreeBSD
This package contains lots of small programs many people expect to find when
they use a BSD-style Unix system.
.
It provides banner (as printerbanner), calendar, col, colcrt, colrm, column,
from (as bsd-from), hexdump (or hd), look, lorder, ncal (or cal), ul, and
write (as bsd-write).
.
This package used to contain whois and vacation, which are now distributed in
their own packages. Also here was tsort, which is now in the "coreutils"
package.
/usr/share/doc/bsdmainutils/copyright
包中的文件说:
这是 4.4BSD-Lite 中的程序集合,尚未被 FSF 重写为 GNU。它是为包含在 Debian Linux 中而构建的。当此处找到的程序可从 GNU 源代码中获取时,它们将被替换。
和
该软件包可以根据 UCB BSD 许可证的条款重新分发:
版权所有 (C) 1980 -1998 加州大学董事会。版权所有。