创建用于日志解析的 Python 脚本
在创建了用于 Nmap 扫描的 Bash 脚本之后,现在让我们编写一个 Python 脚本来自动化日志解析。日志解析是安全分析中的常见任务,你从中提取日志文件中的特定信息。由于 Python 的简单性和强大的文本处理能力,它非常适合这项任务。
在这一步中,你将在 /root
目录中创建一个名为 log_parser.py
的 Python 脚本来解析一个示例日志文件。由于你已经在 Kali Linux 容器的 shell 中(打开终端时自动连接),你可以直接进行任务。
首先,让我们创建一个示例日志文件来解析。运行以下命令,在 /root
目录中创建一个名为 sample.log
的文件,其中包含一些虚拟日志条目:
echo -e "2023-10-12 10:00:00 INFO System started\n2023-10-12 10:01:00 ERROR Connection failed\n2023-10-12 10:02:00 INFO User logged in" > /root/sample.log
通过列出 /root
目录的内容来验证文件是否已创建:
ls -l /root
你应该看到类似于这样的输出:
-rw-r--r-- 1 root root 112 Oct 12 10:20 sample.log
现在,让我们创建 Python 脚本。打开 nano
编辑器,通过运行以下命令创建一个名为 log_parser.py
的新文件:
nano /root/log_parser.py
在 nano
编辑器中,键入或粘贴以下内容:
#!/usr/bin/env python3
print("Starting log parsing...")
with open('/root/sample.log', 'r') as file:
for line in file:
if 'ERROR' in line:
print(line.strip())
print("Log parsing completed.")
此脚本以 #!/usr/bin/env python3
开头,以指定它应该使用 Python 3 运行。它打开 /root/sample.log
文件,逐行读取它,并且仅打印包含单词 ERROR
的行。print
语句提供关于解析过程的开始和完成的反馈。
要保存文件,请按 Ctrl+O
,然后按 Enter
确认文件名 /root/log_parser.py
。保存后,按 Ctrl+X
退出编辑器。
再次通过列出 /root
目录的内容来验证文件的创建:
ls -l /root
你应该看到类似于这样的输出:
-rw-r--r-- 1 root root 112 Oct 12 10:20 sample.log
-rw-r--r-- 1 root root 150 Oct 12 10:22 log_parser.py
这确认了这两个文件都在正确的位置。在下一步中,你将使此脚本以及上一步中的 Bash 脚本可执行。到目前为止,你已经成功创建了一个用于日志解析的 Python 脚本。