netstat命令

时间:2020-02-23 14:40:09  来源:igfitidea点击:

我们可以使用netstat命令显示Linux网络子系统的各种信息。
NetStat提供有关网络连接,路由表,界面统计等的信息。
此工具通常用于解决网络中的问题并确定网络上的流量。

NetStat最常用于显示传入和传出网络连接。
在没有任何参数的情况下使用,NetStat返回有关打开端口的信息和它们连接的系统:

netstat

要显示有关服务器程序打开以侦听网络连接和已打开连接的端口的信息,请使用-a选项:

netstat -a

要仅显示TCP连接,请使用-t选项:

netstat -t

要仅显示UDP连接,请使用-u选项:

netstat -u

我们可以将多个选项组合在一起:

netstat -ut

要每隔几秒钟连续打印信息,请使用-c选项。

要显示每个协议(IP,TCP,UDP,ICMP)的统计信息,请使用-s选项:

netstat -s

我们可以使用-st选项显示仅用于TCP端口的统计信息:

netstat -st

要显示PID和程序名称,可以使用-p选项:

netstat -p

要打印有关网络接口的信息,请使用-i选项:

netstat -i

要打印路由表,请使用-r选项:

netstat -r

这是一个例子netstat输出。
我们将使用netstat命令使用数字地址显示所有TCP和UDP连接:

netstat -tuna

以下是每个字段的简要说明:

  • proto协议的名称(TCP或者UDP)。
  • recv-q队列中的数据字节要发送到建立连接的用户程序。该值应为0或者接近0。
  • 将队列中的字节发送到远程程序。该值也应该是0或者接近0。
  • 本地地址本地计算机的IP地址和正在使用的端口号。如果服务器正在侦听所有接口,则显示主机显示星号(*)。
  • 外部地址套接字连接的远程计算机的IP地址和端口号。如果尚未建立端口,则端口号显示为星号(*)。
  • 说明TCP连接的状态。可能的状态是:close_wait,关闭,已建立,fin_wait_1,fin_wait_2,last_ack,listen,syn_received,syn_send和time_wait。

不推荐使用NetStat。已经被淘汰了
你应该使用ss。