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语法简洁而清晰,具有丰富和强大的类库等等众多的特性,这是来自百度百科的介绍,在百度百科还能看到它的更详细的介绍信息, ...
随机推荐
- oracle,sqlserver同一个表两个字段和成一个列查询 (详询请加qq:2085920154)
sql 同一张表开两个字段合成一个字段 例如 SQL tab 字段1 字段2 字段3 3 4 莫 合成 tab 字段1 字段2 3-4 莫 SQL SERVER select 字段1 + ...
- ajax 如何提交数据到后台jsp页面,以及提交完跳转到jsp页面
我logincheck.jsp页面取传参数代码: String user=request.getParameter("user1"); String pwd=request.get ...
- JS 传值 传址
在JS中,有两种不同的方式可以操作数据的值,这两种技术分别叫做 传值 和 传址. 传值:在赋值过程中,首先对值进行了一份拷贝,而后将这份拷贝存储到一个变量.对象属性或数组元素中.拷贝的值和原始的值是完 ...
- windows下mongodb权限设置解决方法
mongodb简介: MongoDB 是一个跨平台的,面向文档的数据库,提供高性能,高可用性和可扩展性方便. MongoDB工作在收集和文件的概念. MongoDB默认设置为无权限访问限制,所以可以直 ...
- OleDb 内存泄露问题
近期在定位问题时发现使用OleDb打开很大的Excel文件后,即使什么都不操作Colse掉,内存释放了部分,但是并未回到打开前的水平.在Excel 150M,解压缩后900M的场景下,打开后直接Clo ...
- C语言通过timeval结构设置周期
在C语言中,我们经常需要设置一个时间周期.在这里,我们通过Timeval结构实现时间周期的设置.首先,我们介绍timeval,其定义如下(转载http://www.cnblogs.com/wainiw ...
- java的数据类型的转换
一:java的数据类型转换除布尔类型boolean(不能转换)有两种:<一> 自动转换: <二> 强制转换 <一>.自动转换:就是将小的数据类型自动转换成大的数据类 ...
- Linux下Chrome浏览器不支持WebGL的解决方式。
今天使用Chrome浏览器,总是报这样一个错误: Uncaught TypeError: Cannot read property 'canvas' of null. 细看之下是无法获取WebGL上下 ...
- oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”
Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1.先锁定用户.然后查询进程号,最后删除对应的进程.在删除对应的用户 SQL>alter user XXX account l ...
- linux 匹配字符串是否为数字
#!/bin/bash ## 方法1 a=1234;echo "$a"|[ -n "`sed -n '/^[0-9][0-9]*$/p'`" ] &&a ...