Python黑帽编程1.2  基于VS Code构建Python开发环境

0.1  本系列教程说明

本系列教程,采用的大纲母本为《Understanding Network Hacks Attack and Defense with Python》一书,为了解决很多同学对英文书的恐惧,解决看书之后实战过程中遇到的问题而作。由于原书很多地方过于简略,笔者根据实际测试情况和最新的技术发展对内容做了大量的变更,当然最重要的是个人偏好。教程同时提供图文和视频教程两种方式,供不同喜好的同学选择。由于教程仍在创作过程中,在整套教程完结前,感兴趣的同学请关注我的微信订阅号(xuanhun521,下方二维码),我会第一时间在订阅号推送图文教程和视频教程。问题讨论请加qq群:Hacking (1群):303242737   Hacking (2群):147098303。

图1  xuanhun521 微信订阅号

0.2 前言

上一节,历尽艰辛,我们安装、更新和配置了Kali Linux系统,本节在此基础上安装VS Code 和它的Python插件,用来开发和调试Python程序。

1.1  安装VS Code

在Kali系统中打开VS Code网站:https://code.visualstudio.com/

图2

下载.deb格式的软件包。

图3

下载完成后,启动终端,到下载目录,查看下载的文件。

图4

接下来使用dpkg来安装软件包,输入如下命令:

dpkg - i  [软件包名称]

图5

安装成功之后,到软件列表页,搜索VS Code。

图6

图7

搜索到VS Code之后,单击打开。

图8

输入“CTRL+SHIT+P”打开命令窗口,然后输入“extension install’”进行搜索。

图9

单击“extension install”选项,打开扩展命令窗口,输入Python进行搜索。

图10

在结果列表中,我们选择使用量最高的Python扩展。

图11

安装成功之后,需要重启VS Code令扩展生效。

图12

图13

软件启动之后会自动打开一个文件。

图14

“CTRL+S”保存该文件到某个目录下。

图15

然后切换到VS Code的文件夹选项,打开包含该文件的文件夹。

图16

从文件夹中选择我们保存的文件,添加简单的测试代码。

图17

在代码行的左侧栏处单击就可以为该行代码添加断点。

打开调试信息栏。

图18

单击上方的调试配置按钮,选择调试环境为python。

图19

图20

然后在从应用类别选择调试的类型。

图21

点击调试按钮,启动调试。

图22

图23

调试过程中我们可以可以使用上方的调试工具栏进行单步、过程、回退等操作,可以在左侧查看堆栈、变量等信息。

图24

1.2 小结

本小节主要介绍了我们在本系列课程中使用的开发工具VS Code的安装和相应插件的安装方式。

在Kali Linux上我们不必手动安装Python和pip等模块,但是这些也是学习Python开发的基础,同时在其他系统上,也需要我们手动安装。下一节,对Python运行时和模块安装做简单的介绍和练习。

1.3 本篇文章对应视频教程获取方法

在微信订阅号中,打开菜单“网络安全”-->“python 黑帽编程”,找到对应的本篇文章,文章结尾有获取视频教程的方法。

由于教程仍在创作过程中,在整套教程完结前,感兴趣的同学请关注我的微信订阅号(xuanhun521,下方二维码),我会第一时间在订阅号推送图文教程和视频教程。问题讨论请加qq群:Hacking (1群):303242737   Hacking (2群):147098303。

关注之后,回复请回复“Python”,获取视频教程和其他相关内容。

Python黑帽编程1.2 基于VS Code构建Python开发环境的更多相关文章

  1. Python 黑帽编程大纲(变化中)

    Python 黑帽编程大纲(预览版) 教程说明: 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and Defense with Pytho ...

  2. Python黑帽编程 3.4 跨越VLAN

    Python黑帽编程 3.4 跨域VLAN VLAN(Virtual Local Area Network),是基于以太网交互技术构建的虚拟网络,既可以将同一物理网络划分成多个VALN,也可以跨越物理 ...

  3. PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析

    Python黑帽编程1.5  使用Wireshark练习网络协议分析 1.5.0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks At ...

  4. Python黑帽编程 2.0 第二章概述

    Python黑帽编程 2.0 第二章概述 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一 ...

  5. Python黑帽编程2.8 套接字编程

    Python黑帽编程2.8 套接字编程 套接字编程在本系列教程中地位并不是很突出,但是我们观察网络应用,绝大多数都是基于Socket来做的,哪怕是绝大多数的木马程序也是如此.官方关于socket编程的 ...

  6. Python黑帽编程2.9 面向对象编程

    Python黑帽编程2.9 面向对象编程 我个人认为,计算机语言的发展,有两个方向,一个是从低到高的发展过程,在这个过程中,语言的思考和解决问题的方式是面向硬件的.硬件本质上处理的是信号,在此基础上, ...

  7. Python黑帽编程 3.1 ARP欺骗

    Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...

  8. Python黑帽编程 3.3 MAC洪水攻击

    Python灰帽编程 3.3 MAC洪水 传统的交换机(我只对我目前使用的交互机做过测试,按照常识只能这样表述)在数据转发过程中依靠对CAM表的查询来确定正确的转发接口,一旦在查询过程中无法找到相关目 ...

  9. Python黑帽编程 4.0 网络互连层攻击概述

    Python黑帽编程 4.0 网络互连层攻击概述 是时候重新温习下下面这张图了. 图2 本章的内容核心包含上图中的网络层和传输层.TCP/IP是整个网络协议体系中的核心,因为从这里开始,数据传输从局域 ...

随机推荐

  1. Range Sum Query - Mutable

    https://leetcode.com/problems/range-sum-query-mutable/ 因为数组会变动,所以缓存机制受到了挑战...每次更新数组意味着缓存失效,这样一更新一查找的 ...

  2. [Idea] idea打不开项目,原因很莫名

    由于项目是gitlab上存储的,所以下下来之后,之前遇到过,以为是重新下载之后master上面没有内容导致无法正常打开,这种情况,切换一下master再打开即可: 但是这次遇到的问题不是这种情况, 使 ...

  3. CollectionView水平和竖直瀑布流的实现

    最近在项目中需要实现一个水平的瀑布流(即每个Cell的高度是固定的,但是长度是不固定的),因为需要重写系统 UICollectionViewLayout中的一些方法通过计算去实现手动布局,所以本着代码 ...

  4. java spring 配置文件的读取

    java读取本地配置文件主要分为两类,一类为class相关文件或子文件夹下,一类文件 为jar包外配置文件. class相关文件夹或子文件夹下读取配置文件可以使用Object.class.getRes ...

  5. WP8解析JSON格式(使用Newtonsoft.Json包)

    DOTA2 WebAPI请求返回的格式有两种,一种是XML,一种是JSON,默认是返回JSON格式. 这里举一个简单的解析JSON格式的例子(更多JSON操作): { "response&q ...

  6. 浅谈我对 jQuery 的了解

    总述 0 获取 jQuery 对象 1 对象跳转 2 方法调用 3 常用API 4 $(…); 5 jQuery 对象获取 6 Data 相关方法 7 选择器 8 基本的过滤器 9 内容过滤选择器 1 ...

  7. 阅读jquery源码与js依赖加载的模块化!

    阅读源码肯定是先下载有注释的源码 我也是醉了,10309 行代码,在陆续续的一个月之内,看完了,虽有收获但收获不大, 直到又一次看jquery的github,怎么会有cmd????没听过使用jquer ...

  8. haahah

    #DB ``` import os basedir = os.path.abspath(os.path.dirname(__file__))   SQLALCHEMY_DATABASE_URI = ' ...

  9. PS特效精粹

    冲击有力的广告效果 神奇画笔功能 + 强大的图层样式 Photoshop中的三维特效

  10. tungsten抽取和应用mysql binlog

    首先举例说明 api的基本使用方式 首先进行配置 , 可以看到源数据库和目的数据库 TungstenProperties tp=new TungstenProperties(); tp.setStri ...