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开发环境初始化的更多相关文章

  1. Linux—CentOS7下python开发环境配置

    CentOS7下python开发环境配置 上一篇博客讲了如何在Centos7下安装python3(https://www.cnblogs.com/zivli/p/9937608.html),这一次配置 ...

  2. Linux CentOS Python开发环境搭建教程

      CentOS安装Python 1.CentOS已经自带安装了2.x版本,先尝试python命令检查已安装的版本.如果你使用rpm.yum或deb命令安装过,请使用相对命令查询. 2.复制安装文件链 ...

  3. Linux发行版Ubuntu下的Python开发环境的配置

    linux下的Python安装, 首先我们需要使用都Shell一系列的命令(前面的linux基础可不是白学的哦!) 1.更新软件安装源地址 sudo apt-get update apt-get,是一 ...

  4. Linux——Django 开发环境部署(二)python版本控制器pyenv

    python版本控制器pyenv 之前的 那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自 ...

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

    Python黑帽编程1.2  基于VS Code构建Python开发环境 0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Atta ...

  6. 一.1搭建跨平台的统一python开发环境

    搭建跨平台的统一python开发环境: 使用开发环境的好处: 可不用在服务器上直接修改源代码---写的代码首先得入版本库(放git或giitlab中),在本地写代码提交到git中.然后在服务器上git ...

  7. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  8. windows 下用eclipse搭建java、python开发环境

    本人只针对小白!本文只针对小白!本文只针对小白! 最近闲来无事,加上之前虽没有做过eclipse上java.python的开发工作,但一直想尝试一下.于是边查找资料边试验,花了一天时间在自己的机器上用 ...

  9. python学习之python开发环境搭建

    Python简介 Python是一种面向对象.解释型计算机程序设计语言.Python语法简洁而清晰,具有丰富和强大的类库等等众多的特性,这是来自百度百科的介绍,在百度百科还能看到它的更详细的介绍信息, ...

随机推荐

  1. .Net中的加密解密

    返回博客列表 转 .Net中的加密解密 李朝强 发布时间: 2015/11/23 12:55 阅读: 33 收藏: 3 点赞: 0 评论: 0 在一些比较重要的应用场景中,通过网络传递数据需要进行加密 ...

  2. C# 小工具开发--DeBugHttp

    随着RESTful的流行,前后端分离,我们后端开发人员在开发过程中多http相关方法进行测试.这就是这个小工具的初衷. 代码地址:https://github.com/gdoujkzz/DebugHt ...

  3. CSS里常见的块级元素和行内元素

    根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,成为“块级 ...

  4. mysql: update字段中带select

    update字段中带select UPDATE tb_report_type A INNER JOIN (SELECT LEVEL_CODE FROM tb_report_type WHERE id ...

  5. Ado.net中简单的DBHelper类(增删改查)

    private static string connString = "server=.;database=hotel;uid=aa;pwd=123";//最好从配置文件中取出 p ...

  6. STL的迭代器和类型萃取

    今天就可以把STL库中迭代器的实现,和类型萃取好好整理一下了 迭代器的设计思维是STL的关键所在,在STL的实际运用和泛型思维,迭代器都扮演着十分重要的角色,STL力求把数据容器和算法的概念分开来,于 ...

  7. mysql +ibatis

    1.返回插入ID a.xml <insert id="insert" parameterClass="klcQuestion"> insert in ...

  8. java线程池初步理解

    多线程基础准备 进程:程序的执行过程,持有资源和线程 线程:是系统中最小的执行单元,同一个进程可以有多个线程,线程共享进程资源 线程交互(同步synchronized):包括互斥和协作,互斥通过对象锁 ...

  9. Win7 64位 VS2013环境cuda_7.5.18的一些坑

    thrust库的sort算法,在x86平台使用就崩溃,x64就没问题,搜了下好像是很早的版本,4开始就有这样的问题了,原因不明. http://stackoverflow.com/questions/ ...

  10. (转)Linux的启动过程

    原文链接:http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html 半年前,我写了<计算机是如何启动的?>,探讨BIOS ...