千家信息网

如何使用lsof命令

发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,这篇文章将为大家详细讲解有关如何使用lsof命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。lsof是系统管理/安全的尤伯工具。将这个工具称之为lsof真实名副其
千家信息网最后更新 2024年11月25日如何使用lsof命令

这篇文章将为大家详细讲解有关如何使用lsof命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

lsof是系统管理/安全的尤伯工具。将这个工具称之为lsof真实名副其实,因为它是指"列出打开文件(lists openfiles)"。而有一点要切记,在Unix中一切(包括网络套接口)都是文件。

1, 使用 lsof 命令行列出所有打开的文件

# lsof

这可是一个很长的列表,包括打开的文件和网络

lsof1

上述屏幕截图中包含很多列,例如 PID、user、FD 和 TYPE 等等。

FD - File descriptor

FD 列包含这样一些值

cwd - Current working directorytxt - Text filemem - Memory Mapped filemmap - Memory Mapped deviceNumber - It represent the actual file descriptor. For example, 0u, 1w and 3r

r 是读的意思,w 是写,u 代表读写

Type 代表文件类型,例如:

>REG - Regular file>DIR - Directory>CHR - Character special file>FIFO - First in first out

2, 列出某个用户打开的文件

# lsof -u user_name

Example:

# lsof -u crybitCOMMAND   PID   USER   FD   TYPE             DEVICE SIZE/OFF       NODE NAMEsshd    29609 crybit  cwd    DIR            144,233     4096  117711421 /sshd    29609 crybit  rtd    DIR            144,233     4096  117711421 /sshd    29609 crybit  txt    REG            144,233   409488  119020186 /usr/sbin/sshdsshd    29609 crybit  mem    REG            144,241          2443001619 (deleted)/dev/zero (stat: No such file or directory)sshd    29609 crybit  mem    REG               8,37           119021850 /lib64/libnss_dns-2.5.so (path dev=144,233)sshd    29609 crybit  mem    REG               8,37           119021984 /lib64/security/pam_succeed_if.so (path dev=144,233)sshd    29609 crybit  mem    REG               8,37           119022000 /lib64/security/pam_limits.so (path dev=144,233)sshd    29609 crybit  mem    REG               8,37           119021960 /lib64/security/pam_keyinit.so (path dev=144,233)sshd    29609 crybit  mem    REG               8,37           119021972 /lib64/security/pam_cracklib.so (path dev=144,233)sshd    29609 crybit  mem    REG               8,37           119021987 /lib64/security/pam_nologin.so (path dev=144,233)sshd    29609 crybit  mem    REG               8,37           119021988 /lib64/security/pam_deny.so (path dev=144,233)sshd    29609 crybit  mem    REG               8,37           119019223 /usr/lib64/libcrack.so.2.8.0 (path dev=144,233)..........

3, 列出在某个端口运行的进程

# lsof -i :port_number

Example:

# lsof -i :22COMMAND   PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAMEsshd      769   root    3u  IPv6 2281738844      0t0  TCP *:ssh (LISTEN)sshd      769   root    4u  IPv4 2281738846      0t0  TCP *:ssh (LISTEN)# lsof -i :3306COMMAND   PID  USER   FD   TYPE     DEVICE SIZE/OFF NODE NAMEmysqld  11106 mysql   10u  IPv4 2340975114      0t0  TCP *:mysql (LISTEN)

4, 只列出使用 IPv4 的打开文件

# lsof -i 4 - For IPv4

Example:

# lsof -i 4COMMAND     PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAMEsshd        769   root    4u  IPv4 2281738846      0t0  TCP *:ssh (LISTEN)named      8362  named   20u  IPv4 2334751017      0t0  TCP localhost.localdomain:domain (LISTEN)named      8362  named   21u  IPv4 2334751019      0t0  TCP crybit.com:domain (LISTEN)named      8362  named   22u  IPv4 2334751021      0t0  TCP localhost.localdomain:rndc (LISTEN)named      8362  named  512u  IPv4 2334751016      0t0  UDP localhost.localdomain:domainnamed      8362  named  513u  IPv4 2334751018      0t0  UDP crybit.com:domaintcpserver  9975   root    3u  IPv4 2335487959      0t0  TCP *:pop3 (LISTEN)tcpserver  9978   root    3u  IPv4 2335487967      0t0  TCP *:pop3s (LISTEN)tcpserver  9983   root    3u  IPv4 2335487997      0t0  TCP *:imap (LISTEN)tcpserver  9987   root    3u  IPv4 2335488014      0t0  TCP *:imaps (LISTEN)xinetd    10413   root    5u  IPv4 2336070983      0t0  TCP *:ftp (LISTEN)xinetd    10413   root    6u  IPv4 2336070984      0t0  TCP *:smtp (LISTEN)mysqld    11106  mysql   10u  IPv4 2340975114      0t0  TCP *:mysql (LISTEN)# lsof -i 6

Example:

# lsof -i 6COMMAND   PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAMEsshd      769   root    3u  IPv6 2281738844      0t0  TCP *:ssh (LISTEN)named    8362  named   23u  IPv6 2334751024      0t0  TCP localhost.localdomain:rndc (LISTEN)httpd   29241   root    4u  IPv6 2439777206      0t0  TCP *:http (LISTEN)httpd   29241   root    6u  IPv6 2439777211      0t0  TCP *:https (LISTEN)httpd   29243 apache    4u  IPv6 2439777206      0t0  TCP *:http (LISTEN)httpd   29243 apache    6u  IPv6 2439777211      0t0  TCP *:https (LISTEN)httpd   29244 apache    4u  IPv6 2439777206      0t0  TCP *:http (LISTEN)httpd   29244 apache    6u  IPv6 2439777211      0t0  TCP *:https (LISTEN)httpd   29245 apache    4u  IPv6 2439777206      0t0  TCP *:http (LISTEN)httpd   29245 apache    6u  IPv6 2439777211      0t0  TCP *:https (LISTEN)httpd   29246 apache    4u  IPv6 2439777206      0t0  TCP *:http (LISTEN)

5, 列出端口在 1-1024 之间的所有进程

# lsof -i :1-1024

Example:

# lsof -i :1-1024COMMAND     PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAMEsshd        769   root    3u  IPv6 2281738844      0t0  TCP *:ssh (LISTEN)sshd        769   root    4u  IPv4 2281738846      0t0  TCP *:ssh (LISTEN)named      8362  named   20u  IPv4 2334751017      0t0  TCP localhost.localdomain:domain (LISTEN)named      8362  named   21u  IPv4 2334751019      0t0  TCP crybit.com:domain (LISTEN)named      8362  named   22u  IPv4 2334751021      0t0  TCP localhost.localdomain:rndc (LISTEN)named      8362  named   23u  IPv6 2334751024      0t0  TCP localhost.localdomain:rndc (LISTEN)tcpserver  9975   root    3u  IPv4 2335487959      0t0  TCP *:pop3 (LISTEN)tcpserver  9978   root    3u  IPv4 2335487967      0t0  TCP *:pop3s (LISTEN)tcpserver  9983   root    3u  IPv4 2335487997      0t0  TCP *:imap (LISTEN)tcpserver  9987   root    3u  IPv4 2335488014      0t0  TCP *:imaps (LISTEN)xinetd    10413   root    5u  IPv4 2336070983      0t0  TCP *:ftp (LISTEN)xinetd    10413   root    6u  IPv4 2336070984      0t0  TCP *:smtp (LISTEN)httpd     29241   root    4u  IPv6 2439777206      0t0  TCP *:http (LISTEN)httpd     29241   root    6u  IPv6 2439777211      0t0  TCP *:https (LISTEN)httpd     29243 apache    4u  IPv6 2439777206      0t0  TCP *:http (LISTEN)........

6, 根据进程id来列出打开的文件

# lsof -p PID

Example:

# lsof -p 11106COMMAND   PID  USER   FD   TYPE             DEVICE SIZE/OFF       NODE NAMEmysqld  11106 mysql  cwd    DIR            144,233     4096  119025114 /var/lib/mysqlmysqld  11106 mysql  rtd    DIR            144,233     4096  117711421 /mysqld  11106 mysql  txt    REG            144,233  9484782  119025094 /usr/libexec/mysqldmysqld  11106 mysql  mem    REG               8,37           119025094 /usr/libexec/mysqld (path dev=144,233)mysqld  11106 mysql  mem    REG               8,37           119021850 /lib64/libnss_dns-2.5.so (path dev=144,233)mysqld  11106 mysql  mem    REG               8,37           119021830 /lib64/libnss_files-2.5.so (path dev=144,233)mysqld  11106 mysql  mem    REG               8,37           119021841 /lib64/libsepol.so.1 (path dev=144,233)mysqld  11106 mysql  mem    REG               8,37           119021801 /lib64/libselinux.so.1 (path dev=144,233)mysqld  11106 mysql  mem    REG               8,37           119021785 /lib64/libresolv-2.5.so (path dev=144,233)mysqld  11106 mysql  mem    REG               8,37           119021920 /lib64/libkeyutils-1.2.so (path dev=144,233)mysqld  11106 mysql  mem    REG               8,37           119017006 /usr/lib64/libkrb5support.so.0.1 (path dev=144,233)........

7, 杀掉某个用户的所有活动进程

# killall -9 `lsof -t -u username`

8, 列出某个目录中被打开的文件

# lsof +D path_of_the_directory

Example:

# lsof +D /var/log/COMMAND     PID   USER   FD   TYPE  DEVICE SIZE/OFF      NODE NAMEsyslogd    9729   root    1w   REG 144,233        0 119019158 /var/log/kernelsyslogd    9729   root    2w   REG 144,233   350722 119021699 /var/log/messagessyslogd    9729   root    3w   REG 144,233   591577 119019159 /var/log/securesyslogd    9729   root    4w   REG 144,233   591577 119019159 /var/log/secure

9, 根据进程名称列出打开的文件

# lsof -c process_name

Example:

# lsof -c sshCOMMAND     PID USER   FD   TYPE     DEVICE SIZE/OFF    NODE NAMEsshd        483 root  cwd    DIR        8,9     4096       2 /sshd        483 root  rtd    DIR        8,9     4096       2 /sshd        483 root  txt    REG        8,9   523488 1193409 /usr/sbin/sshd

10, 列出所有网络连接

# lsof -i

该命令列出所有侦听和已建立的网络连接 Example:

# lsof -iCOMMAND     PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAMEsshd        769   root    3u  IPv6 2281738844      0t0  TCP *:ssh (LISTEN)sshd        769   root    4u  IPv4 2281738846      0t0  TCP *:ssh (LISTEN)named      8362  named   20u  IPv4 2334751017      0t0  TCP localhost.localdomain:domain (LISTEN)named      8362  named   21u  IPv4 2334751019      0t0  TCP crybit.com:domain (LISTEN)named      8362  named   22u  IPv4 2334751021      0t0  TCP localhost.localdomain:rndc (LISTEN)named      8362  named   23u  IPv6 2334751024      0t0  TCP localhost.localdomain:rndc (LISTEN)named      8362  named  512u  IPv4 2334751016      0t0  UDP localhost.localdomain:domain


关于"如何使用lsof命令"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

文件 进程 命令 网络 篇文章 代表 工具 更多 用户 端口 不错 实用 安全 名副其实 之间 内容 名称 屏幕 意思 截图 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 电子网络软件开发的学校 数据库中查询结果去重 山东正宇软件开发有限公司 传奇怪物血量是数据库的2倍 内网电脑怎么看服务器版本 传奇服务器自己在家怎么玩 暗黑2国服重制版有几个服务器 贯彻网络安全和信息化工作会 服务器启动后一直停留在自检 关于数据库安全的参考文献 学网络安全是吃青春饭吗 视频监控系统服务器怎么连接 软件开发构成有哪些 网络安全爆破工程师培训 中国互联网最黑科技 网络安全特殊字符 如何查询期刊收录数据库 浅谈计算机网络安全与管理 数据库技术及运用清华大学 java建立数据库 中专计算机网络技术代码 网络安全身份认证市场 亿万财神爷软件开发商 服务器导入建筑物 饥荒联机服务器无响应进不了房间 仿站没数据库 佛山市顺德区合意软件开发 网络安全专科学校排名 电商网站数据库设计项目报告 软件开发不需要缴纳税
0