黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第一章 配置python环境


文章目录

  • 黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第一章 配置python环境
  • 写在前面
  • 配置Python环境
    • 安装Kali Linux
    • 配置Python 3
    • 安装IDE

写在前面

网络安全是一条不归之路,永无止境,但值得你鞠躬尽瘁。
CISSP考试通过的第一时间,就在考虑,是直接上OSEP还是先搞搞OSCP。对于选择困难症的我来说,这个问题太难了。这个时候看到Offensive官网上晒出的某个大牛的备考经验中提到了一本书**《Black Hat Python》**,说是作为入门教程比较好。对于我这种菜鸡来说,再好不过了,管他OSEP还是OSCP,先搞起来再说,笨鸟先飞嘛。
话不多说,立即启动我那比狗鼻子还灵敏的网络搜索小骚手,把电子书弄下来,看纸质书太费劲了。
我下载到的是如下图的英文第二版和中文第一版,英文为主,中文为辅,搞起来。

配置Python环境

本章主要完成三个目标:安装配置kali,配置python3,配置IDE。有经验的读者可以直接跳过。

安装Kali Linux

直接从Kali官网(Get Kali | Kali Linux)下载针对VMware使用的版本即可,如下图所示。

这是一个压缩包,下载完后,直接解压,会解压到一个名为“Kali-Linux-2022.2-vmware-amd64.vmwarevm”的目录。各位下载到的可能是比这个更新的版本,无妨。直接将目录拷贝到我的虚拟机专用目录,然后重命名为“Kali”。
运行VMware Workstation程序,主页上直接选择“打开虚拟机”,如下图。

按照目录找到刚刚解压好的目录“Kali”,选择该目录下名为“Kali-Linux-2022.2-vmware-amd64.vmx”的文件打开,这样Kali就自动导入了VMware。也可以在VMware的左侧虚拟机列表中右键重命名导入的虚拟机,作为一个重度强迫症患者,见不得不协调的长名字,我直接重命名成了Kali。
第一次运行Kali虚拟机可能会报如下图所示的对话框,询问虚拟机是否被移动或者复制了。

选择“我已复制该虚拟机”就可以了。别问我为什么不选“我已移动该虚拟机”,我理解应该也是可以的,我就是直接选择的“我已经复制该虚拟机”。这样,虚拟机就起来了,久违的Kali清爽界面。

官网下载的虚拟机文件,默认用户名和密码都是Kali,登录以后,自己通过命令行修改密码即可,如下图。

之后,可以通过如下的命令进行版本更新。

kali@kali:~$ sudo apt update
kali@kali:~$ apt list --upgradable
kali@kali:~$ sudo apt upgrade
kali@kali:~$ sudo apt dist-upgrade
kali@kali:~$ sudo apt autoremove

我简单理解update是查询更新(或者是验证更新服务器?),list – upgradable是列出可更新的内容,upgrade是执行更新,autoremove是删除更新后的不需要内容或者不再依赖的内容。 我瞎猜的,之前我再linux mint都是这么用的,其它几个命令我也没用过。

配置Python 3

首先确认当前kali上安装的python版本,如下图,我的虚拟机上是3.10.x。

《Black Hat Python 2nd Edition》中建议的是python 3.6或者更高版本,新下载的kali满足要求,不再折腾。
说明:原书中,作者python打出来的是python 2.x的版本,使用python3打出来的才是python3.x的版本。我新下载的2022.2的kali中,python和python3打出来的都是python 3.10.4,如下图。不纠结,继续下面的。

书本中使用的是python虚拟环境,python虚拟环境是python开发人员最长使用的,可以针对不同的项目使用不同的python版本,而不用频繁的安装-卸载各种python版本。相当于每个项目有自己独立的python环境,使得项目管理更加加单,确保每个项目和每个环境都有自己的依赖项和模块。
在创建python虚拟环境之前,先通过如下的命令安装python3的venv软件包。

kali@kali:~$ sudo apt-get install python3-venv

上述是书本中的命令,我在执行的时候报错了,指示这个包已经不存在了,或者换成了别的包,如下图。

不搞了,打个snap快照,明天继续。
昨天晚上在家,发现kali无法正常update,估计是我在围城之内的原因。今早到办公室的第一件事就是update我的kali系统,因为办公室是可以直接上google的。不出所料,在办公室update的时候很顺利,不再赘述。
昨晚安装python虚拟环境报错的问题,应该还是因为虚拟机安装好以后没有及时更新。今天更新完kali系统和python之后,再进行安装,顺利完成,如下图。

安装完成之后,执行如下所示的命令,完成python虚拟环境的创建和激活。

kali@kali:~$ mkdir bhp
kali@kali:~$ cd bhp
kali@kali:~/bhp$ python3 -m venv venv3
kali@kali:~/bhp$ source venv3/bin/activate
(venv3) kali@kali:~/bhp$ python

运行结果如下图所示。

接下来执行pip search指令的时候,我这里报错了,如下图所示。

据说是因为pip search服务请求量暴增,而新开发的搜索方式还没有搞定,所以官方永久性禁用了XMLRPC的搜索功能。具体可以通过下载安装pip-search来解决。
首先在虚拟环境中通过如下命令安装pip-search包。

(venv3) kali@kali:~/bhp$ pip install pip-search

安装完成后,直接使用pip_search + 包名进行查询即可,如下图所示。

接下来,作为快速测试,安装换一下lxml模块。该模块将会在第五章中用于构建web爬虫工具。
如下图所示,家里网络不是太好,重试了一次才成功。

然后进入python命令号,验证lxml模块安装正确,如能够正常导入相关模块,则说明安装没问题,如下图所示。

安装IDE

对于一些小的测试工具或者脚本,通过普通的文本编辑工具编写python程序就够用了。但是在编写大型程序的时候,有一个趁手的IDE会事半功倍。比如,它可以帮助你语法检查、自动缩进、自动错误检查等等。课本中提到了主要三种IDE:PyCharm、VS Code和WingIDE。我本人是用的VS Code (后续的描述中我都会使用VS Code),直接在kali中运行如下命令安装即可。但是按照书中的提示,直接使用apt-get install code命令的时候,提示找不到包,如下图所示。

莫慌,有办法解决。先到VS code官网去查看deb格式安装包的现在链接,如下图所示。

直接下载到本地(比如/home/kali),然后执行如下的命令安装即可,这里注意,一定要在命令前面加上sudo,否则会报错,有些文件需要加锁之类的,但是没有权限。

kali@kali:~$ sudo apt-get install -f ./code_1.71.2-1663191218_amd64.deb

执行结果如下图,

安装完成后,在kali的开始菜单中可以找到已安装好的VS Code,如下图所示。

之后,每次在kali中编写代码时,先进入对应的python虚拟环境,然后,直接输入命令“code .”(注意:doce和.中间有个空格),就可以在虚拟环境中打开VS code,如下图所示。

在虚拟环境中打开的VS Code如下图所示。

黑帽python第二版(Black Hat Python 2nd Edition)读书笔记 之 第一章 配置python环境相关推荐

  1. Python快速编程入门#学习笔记01# |第一章 :Python基础知识 (Python发展历程、常见的开发工具、import模块导入)

    全文目录 ==先导知识== 1 认识Python 1.1.1 Python的发展历程 1.1.2 Python语言的特点 2. Python解释器的安装与Python程序运行 1.2.1 安装Pyth ...

  2. Python数据分析与数据化运营(笔记)第一章:python与数据化运营

    1.开头三个问题: 1.python是什么? 2.数据化运营是什么? 3.为什么要将python用于数据化运营? 1.1 Python是什么? 老生常谈,这里简单列举一下,百度一大把,不过多赘叙 py ...

  3. 黑客攻防技术宝典Web实战篇(第二版)_读书笔记(第一章~第三章)

    //相关章节(第一章~第三章) 第一章 Web应用程序安全与风险 1.2.1 "本站点是安全的" 漏洞测试过程中出现频率(2007年~11年): 跨站点脚本(XSS)(94%) 跨 ...

  4. 计算机科学导论第二版(佛罗赞)-读书笔记

    第一章 绪论 此章主要是讲了计算机的发展史,最令人印象深刻的是阿兰.图灵1937年提出的图灵模型,他设想有这么一个机器,人们的计算过程它都会,输入数据就能得到计算后的结果.这人只是提出了个哲学设想,他 ...

  5. Linux内核分析 读书笔记 (第一章、第二章)

    第一章 Linux内核简介 1.1 Unix的历史 Unix很简洁,仅仅提供几百个系统调用并且有一个非常明确的设计目的. 在Unix中,所有东西都被当做文件,这种抽象使对数据和对设备的操作是通过一套相 ...

  6. maven实战--读书笔记之第一章和第二章

    第一章:Maven简介 1.本书为国内社区公认的专家徐晓斌所写,本书基于maven3.0所编写,maven是非常优秀的建模工具,maven最大化的消除了构建的重复,抽象了构建生命,他还有一个优点,帮助 ...

  7. 大学计算机第七版读书笔记(第一章)

    大学计算机精简内容第一章 1,计算设备 (1)算筹:追溯到2000多年前的春秋战国时代,世界上最早的计算工具. (2)算盘:第一种手动式计数器,最早的数字计算机,珠算口诀是最早的体系化算法. (3)计 ...

  8. 《Python编程:从入门到实践》读书笔记——第5章:if语句

    目录 条件测试 检查是否相等 检查是否不相等 数字比较 检查多个条件 检查特定值是否包含在列表中 检查特定值是否不包含在列表中 布尔表达式 if语句 简单的if语句 if-else语句 if-elif ...

  9. 【Python自然语言处理】读书笔记:第一章:语言处理与Python

    原书:<Python自然语言处理>:https://usyiyi.github.io/nlp-py-2e-zh/ 语言处理与Python 原文:https://usyiyi.github. ...

最新文章

  1. python设置环境路径_window10配置python虚拟环境的路径
  2. R语言实战应用精讲50篇(十八)-R语言实现分词、词频与词云案例解析
  3. boost::mp11::mp_transform相关用法的测试程序
  4. 一个游戏美术写给策划的快速入门(二)
  5. CesiumLab V1.3 新功能 MAX场景处理(免费Cesium处理工具集)
  6. Linq 实现 DataTable 行转列
  7. java 数据库 r n_讲解:Database|R|SQL|Java
  8. 如何为物联网选择微控制器?
  9. 我觉得我们看到的所谓“善良人”
  10. 第25月第3天 Mxshop项目记录01
  11. js中字符串方法集合
  12. Form表单的重置按钮(type=“reset“)无法重置隐藏Input输入框的值
  13. 【新年礼物】分享十个珍藏学习编程的网站,助大家2022如虎添翼
  14. 在【守望先锋】学习C++的类与对象
  15. app客户端上传图片实现方式
  16. 利用D盘内存给C盘扩容
  17. 阿里云一键部署 Hadoop 分布式集群
  18. 蓝牙LMP响应超时 BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT
  19. 从self-attention到transformer之transformer
  20. 微信支付商户与服务商区别

热门文章

  1. 25PGN图片的超级玩法
  2. NLP学习笔记 02 句法和文法
  3. EDIUS设置3D转场的方法
  4. 制作电子书--txt转kindle
  5. VisualGDB安装使用
  6. 2020.6.29 概率统计-Task04-方差分析
  7. 解决知云文献翻译软件Translator反应慢问题
  8. layui合并表格的单元格 合并列或行的两种方法
  9. 2023全国特种作业操作证高处安装、维护、拆除模拟考试试卷一[安考星]
  10. 《浪潮之巅》第三版读书总结--了解过去,才能把握未来(三)