Linux 命令 netstat

netstat 查看链接和端口监听等信息

参数介绍:

-n :不显示别名(主机名/域名以 数字或IP显示)

-e :显示其他/更多信息

-p :显示进程PID/进程名

-c :持续输出(设置后会每隔 1秒输出一次,Ctrl+C 终止)

-l :显示正在监听的套接字

-a :显示全部信息

# 下面这些就不很常用了。

-r :显示路由表

-i :显示网络接口(网卡)

-g :显示多播组信息

-s :显示网络统计

-M :显示伪装连接

-v :显示正在进行的工作

# 更多的命令可以用 netstat --help 来查看。

使用示例:

# 显示当前服务器的所有连接信息

netstat -a

# 显示当前服务器的所有 TCP连接信息

netstat -at

# 显示当前服务器的所有 UDP连接信息

netstat -au

# 显示当前服务器的所有 端口监听信息

netstat -lnp

# 显示当前服务器的所有 TDP端口监听信息

netstat -lntp

一般来说经常使用这个命令:

# 显示当前服务器的所有正在监听 TCP端口的信息,并且 显示进程PID和进程名,但不显示别名(域名以IP显示),这个命令算是最常用的了。

netstat -lntp

# 输出示例

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address          Foreign Address        State      PID/Program name

tcp        0      0 0.0.0.0:80              0.0.0.0:*              LISTEN      14233/nginx.conf

tcp        0      0 0.0.0.0:22              0.0.0.0:*              LISTEN      1555/sshd     

tcp        0      0 0.0.0.0:443            0.0.0.0:*              LISTEN      14233/nginx.conf

tcp6      0      0 :::22                  :::*                    LISTEN      1555/sshd

—————————————————————————————————————

# 显示监听 80端口的进程PID和进程名,grep是匹配并显示 符合关键词的行。

netstat -lntp|grep ":80"

# 输出示例

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address          Foreign Address        State      PID/Program name

tcp        0      0 0.0.0.0:80              0.0.0.0:*              LISTEN      14233/nginx.conf

—————————————————————————————————————

# 显示 ssh的监听情况,grep是匹配并显示 符合关键词的行。

netstat -lntp|grep "ssh"

# 输出示例

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address          Foreign Address        State      PID/Program name

tcp        0      0 0.0.0.0:22              0.0.0.0:*              LISTEN      1555/sshd

表头解释:

Proto :连接协议(tcp/udp是IPv4,tcp6/udp6是IPv6)

Recv-Q : 接收队列(基本都是0,如果不是代表堆积)

Send-Q :发送队列(基本都是0,如果不是代表堆积)

Local Address :本地地址和端口

Foreign Address :对外地址和端口

State :连接状态

PID/Program name :进程PID/进程名

# 每隔 1秒显示一次当前服务器的所有连接信息

netstat -c

# 每隔 1秒显示一次当前服务器的所有 TCP连接信息

netstat -ct

# 每隔 1秒显示一次当前服务器的所有 UDP连接信息

netstat -cu

# 显示当前服务器的路由表

netstat -r

# 显示当前服务器的网络接口信息(网卡)

netstat -i

# 显示当前服务器的网络统计信息

netstat -s

# 更多的命令可以用 netstat --help 来查看。

在使用 netstat命令中,会显示一些连接状态,下面是各状态的意思:

LISTEN

# 监听来自远程连接的 TCP端口连接请求

SYN-SENT

# 在发送连接请求后,等待匹配的连接请求

SYN-RECEIVED

# 在收到和发送一个连接请求后,等待对方对连接请求的确认

ESTABLISHED

# 代表一个打开的连接

FIN-WAIT-1

# 等待远程 TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2

# 从远程 TCP等待连接中断请求

CLOSE-WAIT

# 等待从本地用户发来的连接中断请求

CLOSING

# 等待远程TCP对连接中断的确认

LAST-ACK

# 等待原来的发向远程TCP的连接中断请求的确认

TIME-WAIT

# 等待足够的时间,以确保远程TCP接收到连接中断请求的确认

CLOSED

# 没有任何连接状态(或者关闭了连接)

你可能感兴趣的:(Linux 命令 netstat)