最近有一些攻击者在我的服务器上尝试恶意行为,所以我决定在某种程度上“跟踪”他们,即使我知道他们不会走得太远。
现在,我有一个包含服务器日志的完整目录,我需要一种方法来搜索目录中的每个文件,如果找到字符串则返回文件名。所以我心想,有什么比 Perl 更适合用于文本和文件操作的语言呢?所以我的朋友正在帮助我编写一个脚本来扫描某个 IP 的所有文件,并返回包含该 IP 的文件名,这样我就不必手动通过每个日志搜索攻击者。(我有数百个)
#!/usr/bin/perl
$dir = ".";
opendir(DIR, "$dir");
@files = grep(/\.*$/,readdir(DIR));
closedir(DIR);
foreach $file(@files) {
open FILE, "$file" or die "Unable to open files";
while(<FILE>) {
print if /12.211.23.200/;
}
}
虽然它给了我目录读取错误。非常感谢任何帮助。
编辑:代码已编辑,仍然在第 10 行说权限被拒绝无法打开目录。如果您质疑目录更改为“。”,我将在日志目录中运行脚本。
麦克风。