Python黑帽编程1.2 基于VS Code构建Python开发环境
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开发环境的更多相关文章
- Python 黑帽编程大纲(变化中)
Python 黑帽编程大纲(预览版) 教程说明: 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and Defense with Pytho ...
- Python黑帽编程 3.4 跨越VLAN
Python黑帽编程 3.4 跨域VLAN VLAN(Virtual Local Area Network),是基于以太网交互技术构建的虚拟网络,既可以将同一物理网络划分成多个VALN,也可以跨越物理 ...
- PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析
Python黑帽编程1.5 使用Wireshark练习网络协议分析 1.5.0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks At ...
- Python黑帽编程 2.0 第二章概述
Python黑帽编程 2.0 第二章概述 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一 ...
- Python黑帽编程2.8 套接字编程
Python黑帽编程2.8 套接字编程 套接字编程在本系列教程中地位并不是很突出,但是我们观察网络应用,绝大多数都是基于Socket来做的,哪怕是绝大多数的木马程序也是如此.官方关于socket编程的 ...
- Python黑帽编程2.9 面向对象编程
Python黑帽编程2.9 面向对象编程 我个人认为,计算机语言的发展,有两个方向,一个是从低到高的发展过程,在这个过程中,语言的思考和解决问题的方式是面向硬件的.硬件本质上处理的是信号,在此基础上, ...
- Python黑帽编程 3.1 ARP欺骗
Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据 ...
- Python黑帽编程 3.3 MAC洪水攻击
Python灰帽编程 3.3 MAC洪水 传统的交换机(我只对我目前使用的交互机做过测试,按照常识只能这样表述)在数据转发过程中依靠对CAM表的查询来确定正确的转发接口,一旦在查询过程中无法找到相关目 ...
- Python黑帽编程 4.0 网络互连层攻击概述
Python黑帽编程 4.0 网络互连层攻击概述 是时候重新温习下下面这张图了. 图2 本章的内容核心包含上图中的网络层和传输层.TCP/IP是整个网络协议体系中的核心,因为从这里开始,数据传输从局域 ...
随机推荐
- 11g新特性-使用DNFS
NFS相信应该都很熟悉了,但是我们对它的性能一直有所诟病.Oracle在10g版本通过允许对数据库文件直接IO引入ASM.在11g版本中,Oracle对NFS提供了类似的增强,为了改进NFS的性能,开 ...
- 再探JS数组原生方法—没想到你是这样的数组
最近作死又去做了一遍javascript-puzzlers上的44道变态题,这些题号称"JS语言专业八级"的水准,建议可以去试试,这里我不去解析这44道题了, ...
- html传值 location.search取
$(function() { var url = decodeURI(location.search); if (url.indexOf("?") != -1) { var str ...
- iOS中的单例
#import "Singleton.h" @implementation Singleton static Singleton *singleton = nil; + (Sing ...
- 多线程之信号量(By C++)
信号量在多线程中,主要是用于线程的同步或者限制线程运行的数量. 所谓同步,当流程1运行在线程1中,流程2运行在线程2中,流程2必须在流程1结束之后才能开始执行.你会怎么做,所有就需要给出一个流程1结束 ...
- asp.net(C#)读取文件夹和子文件夹下所有文件,绑定到GRIDVIEW并排序 .
Asp部分: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyFiles ...
- Jekyll 安装权限问题 ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/jekyll
OS X El Capitan 新特性(System Integrity Protection or SIP)中加强了权限,但是可以对这里进行操作 /usr/local/bin 可以尝试使用以下指令进 ...
- Logical query-processing phases
Logical query-processing phases in brief (1) FROM This phase identifies the query’s source tables an ...
- SVG文件:从Illustrator导文件到Web
可缩放矢量图形(SVG)是早在1998年就已经有的一种矢量图像格式.它总是和Web一起发展,但是直到现在才开始赶上Web发展的步伐.如今我们已经不能否认SVG和Web的相关性,所以让我们来学习一下从I ...
- PHP 小数点保留两位【转】
最近在做统计这一块内容,接触关于数字的数据比较多, 用到了三个函数来是 数字保留小数后 N 位: 接下来简单的介绍一下三个函数: 1.number_format echo number_format( ...