一、使用场景
linux系统下排查主机异常时间点是否存在异常落地文件,例如:主机被上传了webshell后,排查当天是否落地其他webshell或其他异常文件。
二、命令介绍
find [路径] [选项] [条件]:指定要搜索的目录。如果不指定,默认是当前目录【.】
参数介绍:
-type:f代表普通文件,d代表目录,l代表符号链接。
-name:代表查询的文件名,可使用*通配。
-executable:代表查询可执行文件。
-exec:代表对找到的每个文件执行指定的命令,例如:-exec ls -lrt {} +将查找出的文件,按照时间从新到久排序,列出文件的详细信息。
-newermt:用于根据文件的修改时间来筛选文件,如果需要查找在某个日期之前修改的文件,可以使用 ! -newermt。
-mtime:根据文件的修改时间查找,n可以是+n:n天前,-n:n天内,n:正好n天前,另外还有-ctime(根据文件的状态更改时间查找文件),-atime(根据文件的最后访问时间查找文件),例如:find / -type f -ctime -1(查找最近1天创建的文件)。
-size:指定文件大小的条件。可以使用以下单位:c:字节(bytes),k:千字节(kilobytes),M:兆字节(megabytes),G:吉字节(gigabytes),例如:find . -type f -size 1M(查找所有大小为1MB的普通文件)。
三、实战中命令组合使用
1、搜索2024年11月10日到11月18日的普通文件,将找到的文件路径按照从新到久的形式存储结果到/tmp/file.txt中。
find / -type f -newermt "2024-11-10 00:00:00" ! -newermt "2024-11-19 00:00:00" -exec ls -lrt {} + >/tmp/file.txt
2、将搜索到的文件路径,过滤系统进程文件、驱动文件等,grep -v 是过滤输出结果中存在的字符串。
cat /tmp/file.txt | grep -v proc | grep -v devices | grep -v firmware | grep -v kernel | grep -v module | grep -v vsbmfp | grep -v sys | more
3、也可以直接在搜索出来的结果中,直接过滤jsp、php、tmp等。
cat /tmp/file | grep jsp
4、搜索主机近一天的落地的jsp文件、可执行文件。
find / -type f -ctime -1 -name "*.jsp"
find / -type f -ctime -1 -executable
原文始发于微信公众号(安服仔的救赎):linux应急之find命令在应急实战中的使用
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论