netstat 已经被新工具取代了吗?

netstat 已经被新工具取代了吗?

netstat 是否已被较新的程序取代?

我注意到 netstat 是 nettools 包的一部分,它被 ip 命令取代。

我应该使用什么程序来检查本地计算机上的开放/监听端口?

答案1

netstat 命令已被弃用,取而代之的是速度更快、更人性化、更易读的 ss 命令。请参阅以下建议RHEL 7Debian, 和Arch Linux关于弃用 net-tools(包括 netstat),并使用 iproute 替代品,特别是 ss。

ss 命令是一个用于转储套接字统计信息的工具,它以与 netstat 类似的方式(尽管更简单、更快)显示信息。

$ ss

正在替换 netstat。你可​​以像这样使用它:

$ ss -aunp | grep radi

答案2

我使用“显示插座”:

sudo ss -ltpn

此命令还显示相关进程:

State         Recv-Q         Send-Q                    Local Address:Port                   Peer Address:Port
LISTEN        0              128                             0.0.0.0:111                         0.0.0.0:*             users:(("rpcbind",pid=844,fd=8))
LISTEN        0              100                             0.0.0.0:8080                        0.0.0.0:*             users:(("java",pid=1554,fd=60))
LISTEN        0              128                       127.0.0.53%lo:53                          0.0.0.0:*             users:(("systemd-resolve",pid=1048,fd=13))
LISTEN        0              128                             0.0.0.0:22                          0.0.0.0:*             users:(("sshd",pid=1891,fd=3))
LISTEN        0              1                             127.0.0.1:8005                        0.0.0.0:*             users:(("java",pid=1554,fd=76))

用UDP-t代替-uTCP。

一开始我总是用-ltpan,但有时会显得太多。

ss -h(Ubuntu 18.04 上的帮助):

Usage: ss [ OPTIONS ]
       ss [ OPTIONS ] [ FILTER ]
   -h, --help          this message
   -V, --version       output version information
   -n, --numeric       don't resolve service names
   -r, --resolve       resolve host names
   -a, --all           display all sockets
   -l, --listening     display listening sockets
   -o, --options       show timer information
   -e, --extended      show detailed socket information
   -m, --memory        show socket memory usage
   -p, --processes     show process using socket
   -i, --info          show internal TCP information
   -s, --summary       show socket usage summary
   -b, --bpf           show bpf filter socket information
   -E, --events        continually display sockets as they are destroyed
   -Z, --context       display process SELinux security contexts
   -z, --contexts      display process and socket SELinux security contexts
   -N, --net           switch to the specified network namespace name

   -4, --ipv4          display only IP version 4 sockets
   -6, --ipv6          display only IP version 6 sockets
   -0, --packet        display PACKET sockets
   -t, --tcp           display only TCP sockets
   -S, --sctp          display only SCTP sockets
   -u, --udp           display only UDP sockets
   -d, --dccp          display only DCCP sockets
   -w, --raw           display only RAW sockets
   -x, --unix          display only Unix domain sockets
       --vsock         display only vsock sockets
   -f, --family=FAMILY display sockets of type FAMILY
       FAMILY := {inet|inet6|link|unix|netlink|vsock|help}

   -K, --kill          forcibly close sockets, display what was closed
   -H, --no-header     Suppress header line

   -A, --query=QUERY, --socket=QUERY
       QUERY := {all|inet|tcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|netlink|vsock_stream|vsock_dgram}[,QUERY]

   -D, --diag=FILE     Dump raw information about TCP sockets to FILE
   -F, --filter=FILE   read filter information from FILE
       FILTER := [ state STATE-FILTER ] [ EXPRESSION ]
       STATE-FILTER := {all|connected|synchronized|bucket|big|TCP-STATES}
         TCP-STATES := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|closed|close-wait|last-ack|listening|closing}
          connected := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
       synchronized := {established|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
             bucket := {syn-recv|time-wait}
                big := {established|syn-sent|fin-wait-{1,2}|closed|close-wait|last-ack|listening|closing}

答案3

尝试 :

apt-get install net-tools

它还包括 ipconfig、route 和 arp....

相关内容