使用 lsof 查找打开的文件
2006-08-26 08:12:16 来源:WEB开发网在这个示例中,您可以看到 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)
更多精彩
赞助商链接