Python渗透测试编程技术:方法与实践(第2版)
上QQ阅读APP看书,第一时间看更新

第1版前言

为什么要写这本书

“人生苦短,我用Python。”短短的几年时间中,Python在国内迅速成为最为热门的编程语言之一。为什么Python会取得如此大的成功呢?原因很简单,功能强大、简单易学是它最大的优势。

Python的到来对国内的网络安全从业人员来说,更是一个好消息。虽然目前市面上已经有很多功能强大的网络安全工具,但是网络环境的复杂往往是无法预知的,因此这些工具经常会有无法胜任的时候。这时如果网络安全从业人员具备编程能力,就可以弥补这些工具的不足之处。

但是,对网络安全从业人员来说,最重要的应该是对各种网络安全缺陷的掌握。因此,目前的网络安全培训和书籍大都以工具的使用为主,忽视了编程能力的培养。编程能力的欠缺直接造成了网络安全从业人员工作效率低下。但是要求网络安全从业人员花费大量的时间和精力去掌握一门传统的编程语言,实际上并不现实。因此一门简单而又强大的编程语言才是网络安全从业人员所需要的。近年来,Python在编程界异军突起,几乎成为最热门的编程语言。Python可以说是一门无所不能的编程语言,因而也受到了广大网络安全从业人员的喜爱。

在本书的编写过程中,作者一直在学校从事网络安全方面的教学工作。在实践中,作者发现这个专业的学生面对的最大困难是无法将网络安全中各种分散的知识联系起来。这些年作者也一直在寻求这个难题的解决方法,在此期间参阅了大量的国外优秀文献。而最终作者发现这个问题的答案就是掌握一门编程语言,编程实现所有的知识点,而这个编程语言的最佳选择正是Python。本书在成书之前已经作为讲义在课堂上使用了多年,作者也根据学生的反馈对其进行了增删。这些同学也成为本书最初的读者,希望这本书在给他们带来知识的同时,也能给各位读者带来一些帮助。

本书特色

本书由资深网络安全教师撰写。内容围绕如何使用目前备受瞩目的Python语言进行网络安全编程展开。本书从Python的基础讲起,系统讲述了网络安全的作用、方法论,Python在网络安全管理上的应用,以及Python在实现这些应用时相关的网络原理和技术。同时结合实例讲解使用Python进行网络安全编程的方法,以及在实际渗透中的各种应用,包括安全工具的开发、自动化报表的生成、自定义模块的开发等。从而将Python变成读者手中的编程利器。

阅读本书的建议

□ 没有Python基础的读者,建议从第1章开始顺序阅读并演练每一个实例。

□ 有一定Python基础的读者,可以根据实际情况有重点地选择阅读各个技术要点。

□ 对于每一个知识点和项目案例,先通读以便有个大概印象,然后将每一个知识点的示例代码都在开发环境中操作以便加深对知识点的印象。

读者对象

本书的读者主要是网络安全渗透测试人员、运维工程师、网络管理人员、网络安全设备设计人员、网络安全软件开发人员、安全课程培训人员、高校网络安全专业方向的学生。

其他读者还包括各种非专业但热衷于网络安全研究的人员。

本书主要内容

全书一共15章。

第1章主要介绍了网络安全渗透测试的相关理论。

第2章主要介绍了Kali Linux 2使用基础。

第3章主要介绍了Python语言基础。

第4章主要介绍了使用Python进行安全渗透测试中的常见库。

第5章主要介绍了使用Python实现信息收集。

第6章主要介绍了使用Python对漏洞进行渗透的基础部分。

第7章主要介绍了使用Python对漏洞进行渗透的高级部分。

第8章主要介绍了使用Python实现网络的嗅探与监听。

第9章主要介绍了使用Python实现拒绝服务攻击。

第10章主要介绍了使用Python实现身份认证攻击。

第11章主要介绍了使用Python来编写远程控制软件。

第12章主要介绍了使用Python完成无线网络渗透基础部分。

第13章主要介绍了使用Python完成无线网络渗透高级部分。

第14章主要介绍了使用Python完成Web渗透测试。

第15章主要介绍了使用Python生成渗透测试报告。

关于勘误

虽然作者花了很多时间和精力去核对书中的文字、代码和图片,但因为时间仓促和水平有限,书中仍难免会有一些错误和疏漏,如果大家发现什么问题,恳请将相关信息反馈给清华大学出版社,我们肯定会努力回答疑问或者指出一个正确的方向。

致谢

感谢作者的每一本书的读者,是你们的支持才有了本书的面世。感谢作者所在单位提供的自由的科研工作环境,正是这种完全自由的氛围才使得作者多年的心血能够以文字的形式展示出来。

感谢清华大学出版社的秦健编辑,在本书的编写过程中他始终支持作者的写作,他的鼓励和帮助引导我顺利完成全部书稿。

最后感谢身边的每一位亲人、朋友以及学生,感谢你们在编写此书时给予的支持与理解。