如何使用 lsof 命令列出忽略 localhost 的 TCP 已建立连接?

如何使用 lsof 命令列出忽略 localhost 的 TCP 已建立连接?

使用lsof命令我想打印出TCP与状态的连接ESTABLISHED,但忽略与本地主机的连接。

我试过:

lsof -itcp@^127.0.0.1 -stcp:established
lsof -itcp@(^127.0.0.1) -stcp:established
lsof -itcp -i ^@127.0.0.1 -stcp:established

和其他人类似,但总是得到语法错误响应。

什么是正确的语法?

答案1

看起来您不能否定 中的网络地址lsof

如果在 Linux 上,您可以使用lsfdfromutil-linux代替:

lsfd -Q '(type =~ "^TCP") and
         (name =~ "state=established") and
         (name !~ "addr=(\[::1\]|127)")'

或者正如 @AB 中提到ssiproute2

ss -tp state established not dst 127.0/8 not dst '[::1]'

相关内容