kali linux Python开发环境初始化
kali linux Python 黑客编程1 开发环境初始化
为什么要选择Python?
Python作为目前Linux系统下最流行的编程语言之一,对于安全工作者的作用可以和C++相提并论。Python提供了丰富的库供调用,丰富的第三方扩展模块。在网络应用,文本解析方面,Python编程有着其他语言无可比拟的优势。同时Python也是面向对象并且跨平台的语言,可以在linux/Unix、OSX、windows上无障碍运行。
1.1 查看Python版本信息
Kali Linux默认已经安装了Python运行环境,运行下面的命令,可以查看当前Python版本。
python --version

1.2 Python软件包安装
Python软件包安装,我们这里介绍三种方法,分别为手动,easy_install和pip安装。
1.2.1 手动安装
第一种方法是手动下载软件包,运行安装程序来安装。
比如我们想要使用Python-nmap组件去解析nmap的扫描结果,我们先手动下载安装包。

解压:
root@kali:~# tar xzf python-nmap-0.6.0.tar.gz
root@kali:~# ls
paros python-nmap-0.6.0 公共 视频 文档 音乐
phpmyadmin.sh python-nmap-0.6.0.tar.gz 模板 图片 下载 桌面
root@kali:~# cd python-nmap-0.6.0/
root@kali:~/python-nmap-0.6.0# ls
CHANGELOG gpl-3.0.txt MANIFEST.in nmap.html README.txt setup.py
example.py Makefile nmap PKG-INFO requirements.txt
root@kali:~/python-nmap-0.6.0#

运行setup.py,执行安装。
python setup.py install
root@kali:~/python-nmap-0.6.0# python setup.py install
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
warnings.warn(msg)
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/nmap
copying nmap/__init__.py -> build/lib.linux-x86_64-2.7/nmap
copying nmap/test_nmap.py -> build/lib.linux-x86_64-2.7/nmap
copying nmap/nmap.py -> build/lib.linux-x86_64-2.7/nmap
running install_lib
creating /usr/local/lib/python2.7/dist-packages/nmap
copying build/lib.linux-x86_64-2.7/nmap/__init__.py -> /usr/local/lib/python2.7/dist-packages/nmap
copying build/lib.linux-x86_64-2.7/nmap/test_nmap.py -> /usr/local/lib/python2.7/dist-packages/nmap
copying build/lib.linux-x86_64-2.7/nmap/nmap.py -> /usr/local/lib/python2.7/dist-packages/nmap
byte-compiling /usr/local/lib/python2.7/dist-packages/nmap/__init__.py to __init__.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/nmap/test_nmap.py to test_nmap.pyc
byte-compiling /usr/local/lib/python2.7/dist-packages/nmap/nmap.py to nmap.pyc
running install_egg_info
Writing /usr/local/lib/python2.7/dist-packages/python_nmap-0.6.0.egg-info

1.2.2 easy_intall 安装
easy_install 是Python setuptools组件中的一个模块,默认在kali2.0中该组件已经存在了。如果没有的话,我们可以使用apt-get 进行安装。
apt-get install python-setuptools

ok,下面我们使用easy_install 来安装Python的另一个组件包,可以用来对dpf进行解析和安全测试的pyPdf。
easy_install pyPdf

1.2.3 pip安装
默认情况,kali2.0 也已经安装了python-pip,如果你的系统没有的话,可以手动安装。
现在终端通过apt-get安装python-pip。
apt-get install python-pip

下面我们通过 pip 来安装github3模块。
pip install github3.py
root@kali:~/python-nmap-0.6.0# pip install github3.py
Downloading/unpacking github3.py
Downloading github3.py-0.9.5-py2.py3-none-any.whl (109kB): 109kB downloaded
Downloading/unpacking uritemplate.py>=0.2.0 (from github3.py)
Downloading uritemplate.py-0.3.0.tar.gz
Running setup.py (path:/tmp/pip-build-LRgVNm/uritemplate.py/setup.py) egg_info for package uritemplate.py
Requirement already satisfied (use --upgrade to upgrade): requests>=2.0 in /usr/lib/python2.7/dist-packages (from github3.py)
Installing collected packages: github3.py, uritemplate.py
Running setup.py install for uritemplate.py
Successfully installed github3.py uritemplate.py
Cleaning up...

现在我们介绍了三种python组件包的安装方法,下面我再来关注下开发工具。
1.3 开发工具
python开发可以用的开发工具很多,从简单的sublime text到比较重的eclipse+pydev,最近开始流行的vscode都可以。大家可以自行Google各种方法,我这里首先介绍的是一款商业软件WingIDE,不过它是用Python开发的。这款软件是目前使用过的,最优秀的Python开发工具。
首先我们到wingIDE的官网,下载安装包。
浏览器打开https://wingware.com/。

点击get按钮。

找到对应的版本,取得链接。

使用wget下载。
wget http://wingware.com/pub/wingide/5.1.11/wingide5_5.1.11-1_amd64.deb

运行dpkg安装。
dpkg -i wingide5_5.1.11-1_amd64.deb

下面我们从菜单中访问下软件:

打开Wing IDE,遇到licence的提示框,可以暂时忽略。

下面再介绍另一款工具Aptana Studio,这不是专门的Python开发工具。首先到官网http://www.aptana.com/。

点击下载。
选择独立版本,填写邮件信息。


点击下载按钮,保存文件。

解压文档,从终端切换到解压目录中。

执行Aptana exe文件。

会启动aptana 的窗口,首先要设置默认的工作目录。

点击ok。

下面我们配置python。

打开window菜单下的Preferences。

一路找到 Python Interpreter,在右侧我们添加python的文件目录。

点一下 Advanced Auto-Config按钮,会自动检测当前系统安装的Python。

这里我们暂且选择最新版,3.4版本。这里可以把2.7 和3.4 都添加上,起不同的名字,在新建项目的时候可以切换。

点击ok,再点击 外层窗口的ok。
现在可以新建一个python项目了。

打开file菜单,new—>Project.

选择PyDev Project,下一步。

选择填写配置项,finish。

选择yes。

在hello下添加新的python文件。


随便写点代码:

右键run as
在编辑器下方的控制台会输出结果。

1.4 小结
本文主要介绍了kali linux下python开发环境的搭建过程,其中开发工具大家可以选择自己喜欢的工具。下一篇文章为大家讲解一个Python黑客编程的入门案例,来自《Voilent Python》一书的zip暴力破解。
网络安全交流qq群:147098303
更多python黑客编程内容,关注我的微信订阅号,xuanhun521,为您持续推送:

kali linux Python开发环境初始化的更多相关文章
- Linux—CentOS7下python开发环境配置
CentOS7下python开发环境配置 上一篇博客讲了如何在Centos7下安装python3(https://www.cnblogs.com/zivli/p/9937608.html),这一次配置 ...
- Linux CentOS Python开发环境搭建教程
CentOS安装Python 1.CentOS已经自带安装了2.x版本,先尝试python命令检查已安装的版本.如果你使用rpm.yum或deb命令安装过,请使用相对命令查询. 2.复制安装文件链 ...
- Linux发行版Ubuntu下的Python开发环境的配置
linux下的Python安装, 首先我们需要使用都Shell一系列的命令(前面的linux基础可不是白学的哦!) 1.更新软件安装源地址 sudo apt-get update apt-get,是一 ...
- Linux——Django 开发环境部署(二)python版本控制器pyenv
python版本控制器pyenv 之前的 那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自 ...
- Python黑帽编程1.2 基于VS Code构建Python开发环境
Python黑帽编程1.2 基于VS Code构建Python开发环境 0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Atta ...
- 一.1搭建跨平台的统一python开发环境
搭建跨平台的统一python开发环境: 使用开发环境的好处: 可不用在服务器上直接修改源代码---写的代码首先得入版本库(放git或giitlab中),在本地写代码提交到git中.然后在服务器上git ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- windows 下用eclipse搭建java、python开发环境
本人只针对小白!本文只针对小白!本文只针对小白! 最近闲来无事,加上之前虽没有做过eclipse上java.python的开发工作,但一直想尝试一下.于是边查找资料边试验,花了一天时间在自己的机器上用 ...
- python学习之python开发环境搭建
Python简介 Python是一种面向对象.解释型计算机程序设计语言.Python语法简洁而清晰,具有丰富和强大的类库等等众多的特性,这是来自百度百科的介绍,在百度百科还能看到它的更详细的介绍信息, ...
随机推荐
- SSM框架——使用MyBatis Generator自动创建代码
版权声明:本文为博主原创文章,未经博主允许不得转载. 这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是 ...
- Winform主窗体设计
主窗体顶部为菜单按钮,子窗体内嵌入Panel显示 界面如下: 第二步,主窗体离不开的几个方法 1,点击菜单功能,加载子窗体 private void btnOpenForm_Click(object ...
- C++关于文件的读写(续)
上次,我们探讨了C++关于文件的读操作,这次继续写操作.写,顾名思义,就是把我们自己的东西放到文件中去. 我们举一个简单的例子,就不在乎它的排版问题了. #include<iostream> ...
- [PHP] Xhprof 非侵入式使用指南
一般使用 Xhprof ,按文档操作可以快速上手,文件头开启 Xhprof,应用结束处得到访问的url查看. 这种使用方式可以快速看到效果,同时也有一些不好的地方: 一是不利于重复利用写好的示例代码: ...
- 解决PKIX(PKIX path building failed) 问题 unable to find valid certification path to requested target
最近在写java的一个服务,需要给远程服务器发送post请求,认证方式为Basic Authentication,在请求过程中出现了 PKIX path building failed: sun.se ...
- Hibernate配置与事务管理
数据库中 @num:代表一个变量 Set @num = 10; Select @num+@num from dual; dual:临时表 得到结果 20 Hibernate:运用数据持久化,使用OR ...
- JSNO
JSON 编辑 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了 ...
- SQl server 关于重复插入数据的测试
最近发布的脚本,有那种防止重复插入数据(包括存在时更新,不存在是插入的处理,判断的方向可能与下面的示例相反) 使用类似下面的 SQL declare @id int, @value int if no ...
- angular文件引入带来的绑定问题
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script ...
- int 和 string 相互转换(简洁版)
string int2str(int x) { return x ? num2str(x/10)+string(1,x%10+'0') : "";} int str2int(str ...