前 言
为什么要写这本书
“人生苦短,我用Python。”短短的几年时间中,Python在国内迅速成为最热门的语言之一。为什么Python会取得如此大的成功呢?原因很简单,功能强大、简单易学就是它最大的优势。
而Python的到来对于国内的网络安全从业人员来说,更是一个好消息。虽然目前市面上已经有了很多功能强大的网络安全工具,但是复杂的网络环境往往是事先无法预知的,因此这些工具经常会有无法胜任的时候。如果网络安全从业人员具备编程能力,就可以弥补这些工具的不足之处。
对于网络安全从业人员来说,最重要的应该是掌握各种网络安全的缺陷。因此,目前的网络安全培训和书籍大都以工具的使用为主,而忽视了编程能力的培养。编程能力的欠缺直接造成了网络安全从业人员工作效率的低下。但是要网络安全从业人员花费大量的时间和精力去精通一门传统的编程语言,实际上也并不现实。因此,一门简单而又强大的语言才是网络安全从业人员所需要的。近年来,Python在编程界异军突起,几乎成为最热门的编程语言无所不能,因此受到了广大网络安全行业从业人员的喜爱。假以时日,Python语言必会成为最流行的网络安全编程语言。
在本书的编写过程中,作者一直在学校从事网络安全方面的教学。在实践中,作者发现这个专业的学生面对的最大困难就是无法将网络安全中各种分散的知识联系起来。这些年作者也一直在寻求这个难题的解决方法,在此期间参阅了大量的国外优秀图书。而最终作者发现解决这个问题的方法就是掌握一门编程语言,编程实现所有的知识点,而这门编程语言的最好选择正是Python。本书在出版之前已经作为讲义在课堂上使用了多年,作者也根据学生的反应对其进行了增删。这些同学也成为本书最初的读者,希望这本书在给他们带来知识的同时,也能为各位读者带来一些帮助。
本书特色
本书由资深的网络安全教师撰写,内容围绕如何使用目前最受瞩目的Python语言进行网络安全编程展开。本书从Python的基础讲起,系统讲述了网络安全的作用、方法论,Python在网络安全管理上的应用,以及Python在实现这些应用时相关的网络原理和技术。结合实例讲解了使用Python进行网络安全编程的方法,以及在实际渗透中的各种应用,包括安全工具的开发、自动化报表的生成、自定义模块的开发等,将Python变成读者手中的编程利器。
阅读本书的建议
(1)没有Python基础的读者,建议从第1章开始按顺序阅读并演练每一个实例。
(2)有一定Python基础的读者,可以根据实际情况有重点地选择阅读部分技术要点。
(3)对于每一个知识点和项目案例,先通读一遍以便有一个大概印象,然后将每个知识点的示例代码都在开发环境中操作以便加深对知识点的理解。
读者对象
本书的读者群主要是网络安全渗透测试人员、运维工程师、网络管理人员、网络安全设备设计人员、网络安全软件开发人员、安全课程培训学员、高校网络安全专业方向的学生,还包括各种非专业但却热衷于网络安全研究的人员。
目前,黑客文化的盛行,以及网络安全爱好者的日益增多,也为本书聚集了大量的潜在读者。
如何阅读本书
全书一共包括15章。
第1章主要介绍了网络安全渗透测试的相关理论。
第2章主要介绍了Kali Linux 2使用基础。
第3章主要介绍了Python语言基础。
第4章主要介绍了安全渗透测试中的常见模块。
第5章主要介绍了使用Python实现信息收集。
第6章主要介绍了使用Python对漏洞进行渗透的基础部分。
第7章主要介绍了使用Python对漏洞进行渗透的高级部分。
第8章主要介绍了使用Python实现网络的嗅探与监听。
第9章主要介绍了使用Python实现拒绝服务攻击。
第10章主要介绍了使用Python实现身份认证攻击。
第11章主要介绍了使用Python来编写远程控制工具。
第12章主要介绍了使用Python完成无线网络渗透基础部分。
第13章主要介绍了使用Python完成无线网络渗透高级部分。
第14章主要介绍了使用Python对Web应用进行渗透测试。
第15章主要介绍了使用Python生成渗透测试报告。
关于勘误
虽然作者花了很多时间和精力去核对书中的文字、代码和图片,但因为时间仓促和水平有限,书中仍难免会有一些不足和纰漏,如果读者发现问题,恳请反馈给作者,相关信息可发到邮箱lihuafeng1999@163.com。作者会努力回答疑问或者指出一个正确的方向。
致谢
感谢所有的读者,是你们的支持促成了本书的面世。感谢作者所在单位提供了自由的科研工作环境,正是这种完全自由的氛围才使得作者多年的心血能够以文字的形式展示出来。
感谢清华大学出版社在本书的编写过程中对作者的支持。
最后感谢身边的每一位亲人、朋友以及学生,感谢你们在作者编写此书时给予的支持与理解。