版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Dawn_sf/article/details/81277344
lsof命令
它可以列出某个进程打开的所有文件信息,打开的文件可能是普通文件,目录,nfs文件,块文件,字符文件,共享库
,常规管道命名管道,符号链接,socket流,网络socket,UNIX域socket.
1.不带任何参数运行lsof会列出所有进程打开的所有文件(lsof -h 查看参数)
2.列出那些进程使用某些文件
lsof /usr/local/apache2/logs/access_log
3.递归查找某个目录中所有打开的文件
lsof +D /usr/local/apache2/logs
等价于: lsof | grep '/usr/local/apache2/logs'
4.查找某个程序打开的所有文件
lsof -c http; 可逗号分隔多个进程名称,如lsof -c http,tcp
5.列出某个用户打开的所有文件
lsof -u root 列出根用户使用的文件
lsof -u root -c httpd 列出根用户运行的或者apache进程使用的所有文件
lsof -a -u root -c httpd 列出根用户运行的且apache进程使用的文件
6.列出所有由某个pid对应的进程打开的文件
lsof -p PID
7.列出系统中开放端口上服务的详细信息
lsof -i 列出所有打开了网络套接字(TCP和UDP)的进程
lsof -i tcp 列出所有TCP网络连接
lsof -i :port 使用某个端口的进程
8.列出所有与某个描述符关联的文件
lsof -d 2 列出所有以描述符2打开的文件
lsof -d 0-2 列出所有描述符为0,1,2的文件
lsof -d mem 列出所有内存映射文件
lsof -d txt 列出所有加载在内存中并正在执行的进程
netstat命令
netstat -h 可查看如何使用该命令,下面列出常用的几个参数:
-a (all)显示所有选项
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
1.列出所有端口
netstat -a
2.列出所有tcp或者udp端口
netstat -at 或者 netstat -au
3.只显示监听端口
netstat -l
4.只列出所有监听tcp或者udp端口
netstat -lt 或者 netstat -lu
5.只列出unix 端口
netstat -lx
6.显示TCP或者UDP端口的统计信息
netstat -st或-su
7.netstat将每个一秒输出网络信息
netstat -c
8.显示核心路由器
netstat -r
9.找出程序运行的端口
netstat -ap | gerp ssh
10.显示网络接口列表
netstat -i