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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天来学习一个命令netstat,官方文档 https://linux.die.net/man/8/netstat...
    Brown_阅读 4,223评论 0 51
  • Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statisti...
    Frank_8942阅读 1,196评论 0 0
  • 输出信息含义 执行netstat后,其输出结果为 Active Internet connections (w/o...
    bailongxian阅读 4,985评论 0 2
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 11,509评论 0 6
  • 每一次,回到南京丁山“香格里拉”,每一次,倦色沉重的通宵工作归来,眼前,或是花枝招展的风结,或是簌簌落落的雨花,总...
    LECAMELIA阅读 1,768评论 0 1