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
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和端口的分隔符