版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
知識點:簡單端口掃描01Socket基礎(chǔ)03UDP客戶端與服務(wù)端編程04FTP協(xié)議實現(xiàn)02TCP客戶端與服務(wù)端編程目錄05郵件發(fā)送實現(xiàn)06郵件接收實現(xiàn)07簡單端口掃描08定制天氣發(fā)送簡單端口掃描71.1掃描器工作流程1.2添加banner探測功能1.3制作多線程掃描器1.1掃描器工作流程掃描器工作流程掃描器工作流程:獲取用戶輸入的ip地址以及端口范圍。根據(jù)用戶輸入的地址和端口范圍逐個嘗試連接。連接失敗的pass,連接成功的發(fā)送數(shù)據(jù),嘗試探測應(yīng)用的banner。將掃描結(jié)果以合適的界面輸出給用戶。檢查代碼工作效果,性能檢測,進行優(yōu)化與Debug。根據(jù)上述的工作流程,我們首先編寫程序框架,之后的程序的編寫將逐漸的把框架擴充成一個完整的掃描器。1.2添加banner探測功能添加banner探測功能banner在服務(wù)器與客戶端的通訊中主要具有以下兩個作用。1. 表明端口身份2. 顯示歡迎信息在客戶端與服務(wù)器端建立連接之后,該端口上所運行的程序會根據(jù)協(xié)議或程序設(shè)定發(fā)送banner信息給客戶端,有的程序或協(xié)議需要客戶先發(fā)送請求后才會發(fā)送banner數(shù)據(jù)過來,如http/https,有的則是在連接建立后,自動發(fā)送banner信息過來,如ssh,本章節(jié)所使用的探測banner的數(shù)據(jù)一律使用http/https的get的請求。1.3制作多線程掃描器制作多線程掃描器python常用的多線程模塊有thread,threading,使用threading來制作多線程掃描器,并一定程度介紹threading的使用方法s=threading.Thread(target=scan,args=(address,port)#初始化線程,target指定線程調(diào)用的函數(shù),args值傳入該函數(shù)的參數(shù)s._set_daemon()#設(shè)置子進程為守護進程,無論子進程是否運行完畢,只要主進程運行完畢,程序就直接結(jié)束運行制作多線程掃描器s.join()#啟動子進程s.start()#啟動該線程,直到子進程完畢,主進程繼續(xù)lock=threading.RLock()#設(shè)置鎖的類型為RLock線程鎖lock.acquire()#放置線程鎖,如果有其他非本線程的程序已經(jīng)放置了線程鎖,該線程就會被一直堵塞,直到其他線程的釋放該鎖lock.release()#釋放線程鎖#!/usr/bin/envpython#-*-coding:utf-8-*-importsocket,time,threadingdefscan(address,port,recv_len=1024,banner_len_min=8,banner_len_max=32,banner_repl=('\r\n','\r','\n','\t',',')):#參數(shù)接口target_tcp=socket.socket(socket.AF_INET,socket.SOCK_STREAM)制作多線程掃描器try:target_tcp.connect((address,port))
#嘗試對地址和端口進行連接try:service=socket.getservbyport(port,“tcp”)#連接成功用獲取端口信息except:service=“unknow”#獲取失敗則顯示為unknow制作多線程掃描器else:forreplin(banner_repl):#對banner進行篩選iflen(banner)<banner_len_max:breakelifreplinbanner:new=banner[0:banner.index(repl)]iflen(new)<banner_len_min:#避免banner過濾后太小,導(dǎo)致輸出字符為空等banner=banner.replace(repl,"")#處理不可見字符,避免不可見字符else:banner=new制作多線程掃描器except:
banner=“TimeOut"#如果發(fā)送數(shù)據(jù)后超時沒有接受到banner,則輸出TimeOutlock.release()#釋放堵塞鎖target_tcp.close()#關(guān)閉該tcp連接print"%s\topen\t%s%s%s\n"%(str(port),service,""*(16-len(service)),banner)except:pass#忽略連接失敗的端口制作多線程掃描器if__name__=="__main__":address=raw_input("PleaseEnterTargetAddrress:")#獲取目標(biāo)地址min_port=input("PleaseEnterMinPort:")max_port=input("PleaseEnterMaxPort:")#獲取端口的地址范圍lock=threading.RLock()#使用threading的RLock線程鎖socket.setdefaulttimeout(5)#socket全局超時設(shè)置active_now=threading.active_count()print"\nAddress:%s\tPorts:%s-%s\n\nPort\tState\tService\tBanner"%(address,min_port,max_port)#一些掃描的設(shè)置信息,與輸出結(jié)果的表頭制作多線程掃描器forportinrange(min_port,max_port+1):#在端口地址內(nèi)掃描端口scaning=threading.Thread(target=scan,args=(address,port))#初始化線程time.sleep(0.001)#在不使用用threadpool的情況下簡單的控制控制線程增加速度,避免線程數(shù)過多導(dǎo)致死機等情況,數(shù)值依據(jù)機器性能自行調(diào)整scaning._set_daemon()#設(shè)置為守護進程,當(dāng)主進程被強制結(jié)束時,連同子進程一起結(jié)束scaning.star
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit2 An Accident(說課稿)-2024-2025學(xué)年北師大版(三起)英語六年級上冊
- 3-1《百合花》(說課稿)高一語文同步高效課堂(統(tǒng)編版 必修上冊)
- 2023二年級數(shù)學(xué)上冊 七 分一分與除法第5課時 小熊開店說課稿 北師大版
- 3 天窗(說課稿)2023-2024學(xué)年部編版語文四年級下冊
- 《8和9的加、減法的應(yīng)用》(說課稿)-2024-2025學(xué)年一年級上冊數(shù)學(xué)人教版
- Unit 1 Art Using language 2 說課稿 -2023-2024學(xué)年高中英語人教版(2019)選擇性必修第三冊
- Unit 5 Colours Lesson 1(說課稿)-2024-2025學(xué)年人教新起點版英語一年級上冊
- 2023四年級數(shù)學(xué)上冊 1 大數(shù)的認識第4課時 億以內(nèi)數(shù)的大小比較說課稿 新人教版
- 2024-2025學(xué)年新教材高中英語 Unit 5 Working the Land Learning About Language(二)說課稿 新人教版選擇性必修第一冊
- 2025團體人壽保險合同
- XX站SCADA系統(tǒng)升級改造施工方案(模板)
- 偶函數(shù)講課課件
- 中醫(yī)治療“濕疹”醫(yī)案72例
- 《X公司應(yīng)收賬款管理研究14000字(論文)》
- 交通工程公司乳化瀝青儲油罐拆除工程安全協(xié)議書
- YS/T 441.1-2014有色金屬平衡管理規(guī)范第1部分:銅選礦冶煉
- GB/T 23791-2009企業(yè)質(zhì)量信用等級劃分通則
- 員工自主報告和舉報事故隱患獎勵匯總表
- 清代文學(xué)緒論
- 阿里云數(shù)字化轉(zhuǎn)型生態(tài)介紹課件
- 《控軋控冷》課件
評論
0/150
提交評論