WEB开发网
开发学院操作系统Linux/Unix 使用 lsof 查找打开的文件 阅读

使用 lsof 查找打开的文件

 2006-08-26 08:12:16 来源:WEB开发网   
核心提示: 在这个示例中,您可以看到 PID 2452 打开文件的文件描述符为 2(标准错误)和 7,使用 lsof 查找打开的文件(8),因此,可以在 /proc/2452/fd/7 中查看相应的信息,我们知道 httpd 守护进程使用了 error_log 文件,所以可以使用 ps 命令找到这个

在这个示例中,您可以看到 PID 2452 打开文件的文件描述符为 2(标准错误)和 7。因此,可以在 /proc/2452/fd/7 中查看相应的信息,如清单 6 所示。

清单 6. 通过 /proc 查找删除的文件

# cat /proc/2452/fd/7
[Sun Apr 30 04:02:48 2006] [notice] Digest: generating secret for digest authentication
[Sun Apr 30 04:02:48 2006] [notice] Digest: done
[Sun Apr 30 04:02:48 2006] [notice] LDAP: Built with OpenLDAP LDAP SDK

Linux 的优点在于,它保存了文件的名称,甚至可以告诉我们它已经被删除。在遭到破坏的系统中查找相关内容时,这是非常有用的内容,因为攻击者通常会删除日志以隐藏他们的踪迹。Solaris 并不提供这些信息。然而,我们知道 httpd 守护进程使用了 error_log 文件,所以可以使用 ps 命令找到这个 PID,然后可以查看这个守护进程打开的所有文件。

清单 7. 在 Solaris 中查找删除的文件

# lsof -a -p 8663 -d ^txt
COMMAND PID  USER  FD  TYPE    DEVICE SIZE/OFF  NODE NAME
httpd  8663 nobody cwd  VDIR     136,8   1024    2 /
httpd  8663 nobody  0r VCHR     13,2     6815752 /devices/pseudo/mm@0:null
httpd  8663 nobody  1w VCHR     13,2     6815752 /devices/pseudo/mm@0:null
httpd  8663 nobody  2w VREG     136,8   185 145465 / (/dev/dsk/c0t0d0s0)
httpd  8663 nobody  4r DOOR          0t0   58 /var/run/name_service_door
            (door to nscd[81]) (FA:->0x30002b156c0)
httpd  8663 nobody  15w VREG     136,8   185 145465 / (/dev/dsk/c0t0d0s0)
httpd  8663 nobody  16u IPv4 0x300046d27c0   0t0   TCP *:80 (LISTEN)
httpd  8663 nobody  17w VREG     136,8    0 145466
                             /var/apache/logs/access_log
httpd  8663 nobody  18w VREG     281,3    0 9518013 /var/run (swap)

上一页  3 4 5 6 7 8 9 10  下一页

Tags:使用 lsof 查找

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接