netstat命令使用详解

netstat命令用于显示各种网络信息,如当前机器的网络连接状态,路由表,接口状态等等。

基本信息

执行netstat命令,其结果主要包括两个部分。

  • Active Internet connections (servers and established),称为有源TCP链接,包括TCP和UDP等的详细状态
  • Active UNIX domain sockets (servers and established)。称为有源Unix域套接口。

示例:

1
2
3
4
5
6
7
8
9
10
$netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 2 xx.xx.xx.xx:telnet ss.ss.ss.ss:port ESTABLISHED
...
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 6474 /var/run/test.socket
...

有源TCP链接字段详解:

  • Proto : 当前链接的协议。如TCP,UDP
  • Recv-Q : 网络接收队列
  • Send-Q : 网络发送队列
  • Local Address : 本机的ip:端口(注意此处127.0.0.1默认显示主机名,0.0.0.0默认显示*,端口可能显示别名。若强制显示数字,加-n参数)
  • Foreign Address:对端IP:端口。与local address规则相同
  • State : 当前套接字的网络状态。

有源Unix域套接口字段详解

  • proto : 当前链接的协议,一般为Unix
  • RefCnt : 连接段本端口上的进程号
  • Type:套接字的类型,stream或 DGRAM
  • state : 当前套接字的状态
  • I-Node : 当前socket对应的inode号
  • Path : 连接到套接口的其它进程使用的路径名。

netstat常用参数

  • -a : 显示所有选项
  • -t : 显示所有与TCP相关的选项
  • -u : 显示所有与UDP相关的选项
  • -x : 显示所有与Unix域相关的套接字选项
  • -n : 拒绝显示别名,能显示数字的全部转换为数字显示
  • -p : 显示建立相关连接的程序名。
  • -l : 显示所有状态为Listen的连接
  • -e : 显示扩展信息,如当前链接所对应的用户
  • -c : 间隔一段时间执行一次netstat命令。
  • -s : 显示统计信息。对每种类型进行汇总

netstat常用组合

  • netstat -anp : 显示所有的网络连接,并拒绝显示别名,同时打印该连接对应的程序名
  • netstat -lt : 显示所有正在监听状态的tcp连接
  • netstat -lu : 显示所有正在监听状态的udp连接

Comment and share

  • page 1 of 1

魏传柳(2824759538@qq.com)

author.bio


Tencent


ShenZhen,China