导入
Python 基础知识
掌握用于构建实用黑客工具的Python脚本编程基础。
Python 简介
Python 是黑客、渗透测试人员和系统管理员用于编写各类脚本任务的最广泛使用的编程语言。掌握 Python 脚本编写技能,是成为优秀渗透测试工程师或黑客的关键。
Python 拥有大量预建的库模块,可以轻松导入、使用和复用。这些库使得用户能够用少量易读的代码快速自动化繁琐的任务。因此,具备阅读和编写 Python 脚本的能力至关重要。
我们将从信息安全的角度来学习 Python 编程。本课程使用 Python 3,但需要注意的是,某些工具和脚本仍需要 Python 2 才能运行。
Python 3 有什么优势?
Python 3 是目前最新的主要版本(撰写时)。相比之前版本,它在代码效率和简洁性方面做了大量改进,使得许多用户(包括初学者)都能迅速上手并发挥其强大的灵活性。此外,大多数 Linux 操作系统都预装了 Python 3,我们可以通过 python3 --version 命令来确认。
Python 可用于快速搭建服务器,进一步分析其他工具生成的数据,检查网络流量传输情况等。事实上,只要掌握了套接字编程,我们就能通过自定义脚本,在很大程度上模拟 Nmap 和 Metasploit 等流行工具的功能。
使用 Python
Python 主要有两种使用方式:
- 运行脚本:使用命令
python3 <脚本名>.py 参数1 参数2 ...。例如,假设有一个名为data.py的脚本,要求输入姓名和年龄,我们可以执行命令python3 data.py David 26。 - 使用解释器:在终端中输入
python3即可进入交互式解释器环境,常用于快速进行算术运算。输入exit()可退出解释器。
字符串操作
Python 3 在字符串处理方面非常便捷。熟悉 C++ 或 Java 的用户会发现,Python 的易用性可以节省大量开发时间。
请看以下脚本,展示了多种字符串操作方法。这些只是入门示例,更多高级功能建议查阅官方 Python 文档。
1# 简单的打印语句 2print("Hello World!") 3 4# 使用一些格式化输出 5print("Hello World!\nHow are you doing?\nI\'m quite alright.") 6 7# 可以将字符串存储在变量中并打印 8statement = "This is a bold statement!" 9print(statement) 10 11# 尝试对 'statement' 进行索引和切片操作 12question = statement[5] + statement[15] + statement[0:4] + statement[-17] + statement[15:] + '?' 13print(question) 14 15# 大小写处理 16print(statement.upper()) 17print(statement.lower()) 18 19# 如何连接字符串列表? 20introduction = ' '.join(['My', 'name', 'is', 'David']) 21groceries_list = ','.join(['bananas', 'milk', 'bread']) 22print(introduction) 23print(groceries_list) 24 25# 再将其拆分回来 26introduction = introduction.split() 27groceries_list = groceries_list.split(',') 28print(introduction) 29print(groceries_list)
算术运算
现在我们在 Python 解释器中执行一些算术运算。建议先手动计算,再用解释器验证结果。运算顺序非常重要。
140 + 30 240 / 20 340 // 20 460 - 30 570 * 10 6(40 / 10) * 20 7(340 - (45 * 32) / 34 + (23 - -23)) // 10