netstat查看端口状态

2022-09-15 10:28:45 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

netstat(network status网络状态)命令各个参数说明如下:

  -t : 指明显示TCP端口,t是TCP的首字母。

  -u : 指明显示UDP端口,u是UDP的首字母

  -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序),l是listening的首字母。

  -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序,p是program的首字母。

  -n : 不进行DNS轮询,显示IP(可以加速操作),n是numeric的首字母,以数字形式显示地址和端口号。

-a:显示所有连接和侦听端口,a是all的首字母。

-o:显示拥有的每个连接关联的进程id,o是own的首字母。

即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··

netstat -ntlp //查看当前所有tcp端口·

netstat -ntulp |grep 80 //查看所有80端口使用情况·

netstat -an | grep 3306 //查看所有3306端口使用情况·

查看一台服务器上面哪些服务及端口

netstat -lanp

查看一个服务有几个端口。比如要查看mysqld

ps -ef |grep mysqld

查看某一端口的连接数量,比如3306端口

netstat -pnt |grep :3306 |wc

查看某一端口的连接客户端IP 比如3306端口

netstat -anp |grep 3306

代码语言:javascript复制
netstat -an 查看网络端口 

lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。 

nmap 端口扫描 netstat -nupl  (UDP类型的端口) netstat -ntpl  (TCP类型的端口) netstat -anp 显示系统端口使用情况

lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。 

nmap 端口扫描
netstat -nupl  (UDP类型的端口)
netstat -ntpl  (TCP类型的端口)
netstat -anp 显示系统端口使用情况

netstat -ano后,出现如下画面,如图所示:

查询的有协议(Proto)、本地地址(Local Address)、外部地址(Foregin Address)、状态(State)、PID(进程标识符)

Local Address:访问端口的方式,0.0.0.0 是对外开放端口,说明80端口外面可以访问;127.0.0.1 说明只能对本机访问,外面访问不了此端口;

Foregin Address:对外开放,一般都为0.0.0.0:*

PID:此端口是那个进程在用,进程挂载此端口

State有如下状态:

CLOSED

初始(无连接)状态。

LISTENING

侦听状态,等待远程机器的连接请求。

SYN_SEND

在TCP三次握手期间,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包。(SYN:synchronous 同步,ACK:acknowledgement 确认)

SYN_RECV

在TCP三次握手期间,主动连接端收到SYN包后,进入SYN_RECV状态。(RECV:receiver 收到)

ESTABLISHED (建立)

完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。

FIN_WAIT_1

在TCP四次挥手时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态。(FIN:finish 结束)

FIN_WAIT_2

在TCP四次挥手时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态。

TIME_WAIT

在TCP四次挥手时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态,等待最多MSL时间,让被动关闭端收到ACK包。

CLOSING

在TCP四次挥手期间,主动关闭端发送了FIN包后,没有收到对应的ACK包,却收到对方的FIN包,此时,进入CLOSING状态。

CLOSE_WAIT

在TCP四次挥手期间,被动关闭端收到FIN包后,进入CLOSE_WAIT状态。

LAST_ACK

在TCP四次挥手时,被动关闭端发送FIN包后,进入LAST_ACK状态,等待对方的ACK包。

主动连接端可能的状态有:

CLOSED SYN_SEND ESTABLISHED。

主动关闭端可能的状态有:

FIN_WAIT_1 FIN_WAIT_2 TIME_WAIT。

被动连接端可能的状态有:

LISTEN SYN_RECV ESTABLISHED。

被动关闭端可能的状态有:

CLOSE_WAIT LAST_ACK CLOSED。

重点说明

0.0.0.0 是对外开放,通过服务域名、ip可以访问的端口

127.0.0.1 只能对本机 localhost访问,也是保护此端口安全性

::: 这三个: 的前两个”::“,是“0:0:0:0:0:0:0:0”的缩写,相当于IPv6的“0.0.0.0”,就是本机的所有IPv6地址,第三个:是IP和端口的分隔符

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163326.html原文链接:https://javaforall.cn

0 人点赞