為什麼要選擇Python?
Python作為目前Linux系統下最流行的編程語言之一,對於安全工作者的作用可以和C++相提並論。Python提供了豐富的庫供調用,豐富的第三方擴展模塊。在網絡應用,文本解析方面,Python編程有著其他語言無可比擬的優勢。同時Python也是面向對象並且跨平台的語言,可以在linux/Unix、OSX、windows上無障礙運行。
Kali Linux默認已經安裝了Python運行環境,運行下面的命令,可以查看當前Python版本。
python --version
Python軟件包安裝,我們這裡介紹三種方法,分別為手動,easy_install和pip安裝。
第一種方法是手動下載軟件包,運行安裝程序來安裝。
比如我們想要使用Python-nmap組件去解析nmap的掃描結果,我們先手動下載安裝包。
wgethttp://xael.org/pages/python-nmap-0.6.0.tar.gz
解壓:
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
easy_install是Python setuptools組件中的一個模塊,默認在kali2.0中該組件已經存在了。如果沒有的話,我們可以使用apt-get進行安裝。
apt-get install python-setuptools
ok,下面我們使用easy_install來安裝Python的另一個組件包,可以用來對dpf進行解析和安全測試的pyPdf。
easy_install pyPdf
默認情況,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組件包的安裝方法,下面我再來關注下開發工具。
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
在編輯器下方的控制台會輸出結果。
本文主要介紹了kali linux下python開發環境的搭建過程,其中開發工具大家可以選擇自己喜歡的工具。