netstat命令各个参数说明如下:
-t : 指明显示TCP端口
-a : 显示所有socket(套接字),包括正在监听的(LISTEN)
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速操作)
即可显示当前服务器上所有端口及进程服务,于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 显示各种网络详细信息。 如TCP UDP 路由器等相关信息
lsof命令:
先要理解 在LInux环境下, 任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。
lsof(list open files)是一个列出当前系统打开文件的工具
netstat -p 显示PID, 可以和别的参数合并使用 netstat -pt
lsof
lsof filename 显示打开指定文件的所有进程
lsof -u username 显示所属user进程打开的文件
lsof -i 用以显示符合条件的进程情况
综合:
根据端口port查进程
netstat -nap | grep port
lsof -i:port 使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接
根据进程pid查端口
netstat -nap | grep pid
lsof -i | grep pid
netstat -an 查看网络端口
nmap 端口扫描
netstat -nupl (UDP类型的端口)
netstat -ntpl (TCP类型的端口)
netstat -anp 显示系统端口使用情况