第一章
- 準備python開發環境
python標準庫和內置模塊提供的功能非常廣泛包括內置和數據類型,異常處理,numeric和數字模塊,文件處理能力,加密服務,與操作系統的交互操作,網絡數據處理,與IP協議的交互以及許多有用的模塊,和第三方軟件包。可以用easy_install pip apt-get
- 下載最新的滲透測試系統光盤映像
下載最新的BackTrack Linux滲透測試系統光盤鏡像,該系統提供了大量用於滲透測試以及電子取證,網站,網絡分析和無線攻擊的工具。
#easy_intall pyPdf python-nmap pygeoip mechanize BeautifulSoup4anhuan
安裝與藍牙有關的庫
#apt-get install python-bluez bluetooth pythin-obexftp hjh
- python語言
變量
python會為變量保存內存空間,所以可以不用顯示地聲明變量類型,Python解釋器可以決定變量的類型和為變量保存內存空間。
字符串
可以在python文檔中查看方法的完整列表。
列表
可以創建任意數據類型的list。此外還內置了添加,插入,刪除,出棧,索引,計數,排序,反轉等操作方法。
詞典
提供了一個可以存儲任意數量的python對象的哈希表,用items方法返回的是詞典中所有項的完整信息的列表。
#!/usr/bin/python3 dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} print ("dict['Name']: ", dict['Name']) print ("dict['Age']: ", dict['Age'])
網絡
socket模塊提供了一個用python進行網絡連接的庫,下面是一個抓取banner的腳本。
#!/usr/bin/python #coding=utf-8 import socket socket.setdefaulttimeout(2) s=socket.socket() s.connect(("192.168.95.148",21)) answer=s.recv(1024) s.close() print answer
條件選擇語句
我們想要知道某個特定的FTP服務器中是否存在可以攻擊的漏洞,我們需要把服務器的響應結果是否存在可攻擊的漏洞,需要將服務器的中是否存在可以攻擊的漏洞,這需要將一些已知存在漏洞的FTP服務器版本進行比較。
#!/usr/bin/python #coding=utf-8 import socket s=socket.socket() s.connect(("192.168.95.148",21)) answer=s.recv(1024) s.close() if ("2.3.4") in answer: print IP + " " + "is reachable" else: print IP + " " + "is not reachable"
異常處理
我們一般把網絡連接代碼寫在try語句塊中。
#!/usr/bin/python #coding=utf-8 import socket s=socket.socket() socket.setdefaulttimeout(2) try: s.connect(("192.168.95.148",21)) answer=s.recv(1024) s.close() if ("2.3.4") in answer: print "ip is reachable" else: print "ip is not reachable" except Exception,e: print "Error:" + str(e)