《網絡攻防實踐》 第二週做業

kali 安裝與配置


官網下載最新的kali64位鏡像,照視頻中步驟安裝沒有任何問題,甚至連視頻中提到的一直回車選擇默認選項會遇到的死循環也沒有遇到。

不過有一點不知道是否是有些遺憾,kali網絡設置成橋接模式一直無法連通互聯網,仍是改成NAT模式解決的。html

教材實踐內容


1.《碟中諜6》觀後感。電影中各類各類欺騙或者滲透攻擊實際上涉及到不少,最精彩的那一段無疑是將一我的徹底封閉在一個鐵箱子中的虛擬環境中進行欺騙。這種作到全套的欺騙,防不勝防。

2.經過社會工程學的方法獲取異性同窗的生辰八字等。能想到的辦法都要經過欺騙,不適合用在同窗身上,我自己也不適合騙人,想一想仍是算了。

3.部署我的網絡攻防實驗環境,課上測試已提交再也不贅述。不過宿主機windows和虛擬機的linux不能ping通卻是有些疑問,由於windows之間的連通是沒有問題的,會不會是vmware對於不一樣系統之間存在保護或者本機防火牆之類的呢?

4.國外著名黑客CharlieMiller和ChrisValasek。經過車載娛樂系統遠程控制了一輛吉普切諾基,導致克萊斯勒公司不得不緊急升級系統並召回旗下140萬輛存在隱患的車輛。

5.國內著名黑客。KEEN Team是國內公認的白帽無敵團隊,在Pwn2Own比賽中兩次奪得三項冠軍,是中國歷史上惟一可以兩次參加這項比賽的團隊。在查找CVE漏電時,像360這種專一系統安全的團隊一共才發現了40多個CV漏洞,而KEEN Team則發現了300多個,查找漏洞的能力比360高達7倍。除了這些,KEEN Team還爲微軟、谷歌、蘋果等公司提供了數百個嚴重安全漏洞的挖掘成功,他們查找的數量甚至超過了這些公司的技術團隊。
python

實踐做業


至於尋找五個工具感受意義不大,由於kali系統自帶已經上百款,除非是kali系統沒有的?linux

dig使用經驗


1.基礎使用,基本DNS查詢:
c++



2.查詢特定名稱服務器:


3.搜索記錄類型:


4.反向DNS查找:


5.追蹤DNS路徑:


6.調整答案長度:


7.從文件查找,在文件中每行輸入要查找的域名,使用-f選項便可:


8.指定端口號,這要求服務器開放相關端口功能:


9.選擇ipv4或者ipv6(校園網貌似不支持ipv6):


10.查詢全部DNS記錄類型:


11.自定義輸出:


12.經過.digrc 文件調整默認值:

dnmap client使用經驗


dnmap是一個在多個客戶端之間分發nmap掃描的框架。 它使用nmap命令讀取已建立的文件,並將這些命令發送到與其鏈接的每一個客戶端。
web

該框架使用客戶端/服務器架構。 服務器知道該作什麼,客戶端知道該作什麼。 全部邏輯和統計信息都在服務器中進行管理。 Nmap輸出存儲在服務器和客戶端上。
數據庫

何時會用到這個呢?若是你必須掃描一大羣主機,你有幾個不一樣的互聯網鏈接(或想要幫助你的朋友)。
json

幫助頁面:
flask


使用案例:
vim


應該和dnmap_sever搭配使用。

那麼什麼是nmap呢?Nmap(網絡映射器)是一款用於網絡發現和安全審計的網絡安全工具,它是自由軟件。軟件名字Nmap是Network Mapper的簡稱。一般狀況下,Nmap用於:windows

  • 主機發現。用於發現目標主機是否處於活動狀態。Nmap 提供了多種檢測機制,能夠更有效地辨識主機。例如可用來列舉目標網絡中哪些主機已經開啓,相似於Ping命令的功能。
  • 端口掃描。用於掃描主機上的端口狀態。Nmap能夠將端口識別爲開放(Open)、關閉(Closed)、過濾(Filtered)、未過濾(Unfiltered)、開放或過濾(Open|Filtered)、關閉或過濾(Closed|Filtered)。默認狀況下,Nmap會掃描1660個經常使用的端口,能夠覆蓋大多數基本應用狀況。
  • 版本偵測。用於識別端口上運行的應用程序與程序版本。Nmap當前能夠識別數千種應用的簽名(Signatures),檢測數百種應用協議。而對於不識別的應用,Nmap默認會將應用的指紋(Fingerprint)打印出來,若是用戶確知該應用程序,那麼用戶能夠將信息提交到社區,爲社區作貢獻。
  • 操做系統偵測。用於識別目標主機的操做系統類型、版本編號及設備類型。Nmap當前提供1500個操做系統或設備的指紋數據庫,能夠識別通用PC系統、路由器、交換機等設備類型。
  • 防火牆/IDS規避和哄騙。Nmap提供多種機制來規避防火牆、IDS的的屏蔽和檢查,便於祕密地探查目標主機的情況。基本的規避方式包括:分片、IP誘騙、IP假裝、MAC地址假裝。
  • NSE腳本引擎。NSE是Nmap最強大最靈活的特性之一,能夠用於加強主機發現、端口掃描、版本偵測和操做系統偵測等功能,還能夠用來擴展高級的功能如web掃描、漏洞發現和漏洞利用等。Nmap使用Lua語言來做爲NSE腳本語言,當前的Nmap腳本庫已經支持350多個腳本。

Nmap能夠檢測目標主機是否在線、端口開放狀況、偵測運行的服務類型及版本信息、偵測操做系統與設備類型等信息。 它是網絡管理員必用的軟件之一,用以評估網絡系統安全。

Nmap 是很多黑客及腳本小子愛用的工具 。系統管理員能夠利用Nmap來探測工做環境中未經批准使用的服務器,黑客一般會利用Nmap來蒐集目標計算機的網絡設定,從而計劃攻擊的方法。

Nmap一般用在信息蒐集階段,用於蒐集目標機主機的基本狀態信息。掃描結果能夠做爲漏洞掃描、漏洞利用和權限提高階段的輸入。例如,業界流行的漏洞掃描工具Nessus與漏洞利用工具Metasploit都支持導入Nmap的XML格式結果,而Metasploit框架內也集成了Nmap工具(支持Metasploit直接掃描)。

Nmap不只能夠用於掃描單個主機,也能夠適用於掃描大規模的計算機網絡(例如,掃描英特網上數萬臺計算機,從中找出感興趣的主機和服務)。

Python3 簡明教程


我對於python實際上有必定使用經驗了,前面基礎性內容略過不談。


第一次接觸類是在c++,在實驗中發現Python3中的類和c++仍是很是像的,固然也有區別,好比Python3中的__init__方法,一樣做爲類的初始化函數,c++的構造函數要求和類同名,能夠發現,c++的方式在傳參方式方面更容易理解,更嚴格的符合語法,而python的方式則傾向於更直接的告訴咱們函數的功能。

同時Python3中類的成員(屬性)也沒有私有公有之分,也不須要定義函數去獲取屬性值,直接讀取就行了。

那Python3是如何確保類成員的安全的呢?答案是裝飾器。但裝飾器的做用遠不止這個。具體詳見Python3裝飾器

模塊


看到模塊不得不提Python3環境的問題,本Python3教程顯然更重視如何寫出Python3代碼,而不是如何使用Python3,教程中使用實驗樓的虛擬環境不用考慮如何配置和管理Python3的環境,但實際使用中這每每是帶給我困擾的一方面。如何管理下載的python包,當電腦中存在多個版本的python時如何處理,根據印象應該在新啓動一個項目時就針對它在電腦中建立一個虛擬環境,一個隔離的文件夾,不知道是否是就類似於實驗樓環境中的env。具體詳見Python3虛擬環境 venv搭建輕量級虛擬環境

挑戰類和Collection模塊


在這個實驗中存在一個陷阱,由wget獲得的代碼文件是在windows下編輯,須要在vim下使用set ff=unix轉爲unix模式,具體參考在Ubuntu終端中運行python文件,報錯

代碼風格


要保持一致且良好的代碼風格,這一點我很是認同,看一下我大二時寫的爬蟲程序:

# -*- coding: utf-8 -*-
"""
Created on Tue Nov 29 18:01:18 2016

@author: TheChosenOne
"""

import urllib
import json
from openpyxl import Workbook
from bs4 import BeautifulSoup
#from openpyxl import load_workbook
target_dir="d://pyworkspace/"
urlroot='http://www.nba.com/players/lebron/james/2544'
'''pl=[]

hh=urllib.request.urlopen(urlroot)
ss=BeautifulSoup(hh,'lxml')
for link in ss.find_all('a'):
    pl.append(link.get('href'))
with open("d://pyworkspace/player.txt",'w')as a:
    json.dump(pl,a)
'''
playerurl_list=[]
with open("d://pyworkspace/player.txt") as f:
    playerurl_list=json.load(f)
workbook=Workbook()
p=0
c=0
for playerurl in playerurl_list:
    html=urllib.request.urlopen('http://www.nba.com'+playerurl)
    soup=BeautifulSoup(html,'lxml')
    body= soup.find_all(name='p',attrs={'class':"nba-player-vitals__top-info-metric"})
    #h=list(body[0].strings)
    trs=soup.find_all('tbody')
    content=soup.find_all(name='th',attrs={'scope':"col"})
    ss=BeautifulSoup(str(trs[1]),'lxml')
    ss_0=BeautifulSoup(str(trs[2]),'lxml')
    title=ss_0.find_all('abbr')
    year=ss.find_all('th')
    data=ss.find_all('td')
    i=1
    j=1
    k=0
    m=1
    y=2016
    u_list=[]
    u_list=playerurl.split('/')
    #workbook=Workbook()
    worksheet=workbook.create_sheet(u_list[-2]+u_list[-3],p)
    p+=1
    worksheet.cell(row=i,column=j).value="name"
    j=2
    while j<=25:
        worksheet.cell(row=i,column=j).value=content[m].string
        m+=1
        j+=1
    i=i+1
    j=1
    while i <= len(year)+1:
        worksheet.cell(row=i,column=j).value=u_list[-2]+u_list[-3]
        j+=1
        worksheet.cell(row=i,column=j).value=y
        y=y-1
        j += 1
        while j<=25:
            worksheet.cell(row=i,column=j).value=str(data[k].string)
            k += 1
            j += 1
        i += 1
        j=1
    #workbook.save(target_dir+u_list[-2]+u_list[-3]+'.xlsx')
    print(u_list[-2]+u_list[-3])
workbook.save(target_dir+'player.xlsx')

說實話我一開始有把這段代碼放出來的想法時,也沒想到它會這麼醜···

這也能看出良好且一致的代碼風格有多重要。

virtualenv


很抱歉以前覺得這個教程沒有講python環境的問題,實在沒想到他會放到這麼後面。不過以前的連接依然有價值,由於那講的是在windows/mac下建立python虛擬環境的方法。

  • 安裝virtualenv:
    • sudo apt-get update
    • sudo apt-get install python3-pip
    • sudo pip3 install virtualenv
  • 建立虛擬環境virt1:
    • virtualenv virt1
  • 激活虛擬環境virt1:
    • source virt1/bin/activate

單元測試


在 Python 裏咱們有 unittest 這個模塊來幫助咱們進行單元測試。

  • unittest單元測試
  • 異常測試
  • mounttab.py 中只有一個 mount_details() 函數,函數分析並打印掛載詳細信息。
  • coverage測試覆蓋率

Flask介紹


Flask 是一個 web 框架。也就是說 Flask 爲你提供工具,庫和技術來容許你構建一個 web 應用程序。這個 web 應用程序能夠是一些 web 頁面、博客、wiki、基於 web 的日曆應用或商業網站。

Flask 屬於微框架(micro-framework)這一類別,微架構一般是很小的不依賴於外部庫的框架。這既有優勢也有缺點,優勢是框架很輕量,更新時依賴少,而且專一安全方面的 bug,缺點是,你不得不本身作更多的工做,或經過添加插件增長本身的依賴列表

什麼是模板引擎?

使用模板你能夠設置你的頁面的基本佈局,並說起哪一個元素將發生變化。這種方式能夠定義您的網頁頭部並在您的網站的全部頁面使它保持一致,若是你須要改變網頁頭部,你只須要更新一個地方。

使用模板引擎建立/更新/維護你的應用會節約你不少時間。

flask框架建立的簡單頁面以下,首先是index頁面:

而後是hello頁面:

最後是使用了master模板的hello頁面:

總結


這周由於身體緣由作做業時間比較緊,許多細節沒有深究,好比linux虛擬機和宿主windows系統沒法正常通訊,kali在橋接模式下沒法鏈接外網等狀況。另外在搭建的網絡攻防實驗環境中蜜罐機怎麼配置也沒搞明白。尤爲是kali下自帶工具的使用,下週儘可能補回來。

相關文章
相關標籤/搜索