lsof全名为list opened files,即列举系统中已经被打开的文件,基本使用如下:
(1) 查看/etc/passwd使用情况
lsof /etc/password
(2) 查看监听的socket网络服务
lsof -i
其通用输出格式的几个字段的内容如下:
- COMMAND 默认以9个字符长度显示的命令名称
- PID 进程的ID号
- USER 命令的执行UID或系统中登陆的用户名称
- FD 该文件的文件描述符
- TYPE 协议类型
- DEVICE 使用Linux设备管理的设备号
- SIZE 文件大小
- NODE 本地文件的node号码
- NAME 挂载点和文件的全路径,或者连接双方的地址和端口、状态等
(3) 查看某个网络连接
lsof -i@IP地址
(4) 显示指定PID已打开的文件的信息
lsof -p 4401
netstat命令用来显示活动的TCP连接、计算机监听的端口、以太网统计信息、IP路由表、IPv4和IPv6统计信息等。其基本使用格式如下:
netstat [-a] [-e] [-n] [-o] [-p Protocol] [-r] [-s] [Interval]
使用时如果不带参数,netstat则显示活动的TCP连接。
(1) 显示活动的TCP连接
netstat -p TCP
- Proto 协议的名称
- Local Address 本地计算机的IP地址和正在使用的端口号
- Foreign Address 远程计算机的IP地址和端口号码
- State 表示TCP连接的状态
(2) 显示以太网统计信息和所有协议的统计信息
netstat -e -s
(3) 仅显示TCP和UDP的统计信息
netstat -s -p tcp udp