資源簡介
課程設(shè)計,制作基于socket庫的端口掃描器程序,分別針對TCP和UDP
代碼片段和文件信息
import?optparse;
import?nmap
from?socket?import?*;
from?threading?import?*;
screenLock?=?Semaphore(value=4)?#處理多線程問題,使用screenLock.acquire()執(zhí)行加鎖
‘‘‘
使用socket進行端口掃描,通過socket(AF_INETSOCK_STREAM)指定基于IPv4網(wǎng)絡(luò),tcp連接,
使用connect去進行連接,成功則為端口開放,失敗則為端口關(guān)閉。
‘‘‘
def?tconnScan(tHosttPort):
????try:
????????connSkt?=?socket(AF_INETSOCK_STREAM)
????????connSkt.connect((tHosttPort))
????????screenLock.acquire()
????????print(“[+]%d/tcp?open“%?tPort)
????????screenLock.release()
????????connSkt.close()
????except:
????????screenLock.acquire()
????????print(“[-]%d/tcp?closed“%?tPort)
????????screenLock.release()
????finally:
????????exit(0)
def?tportScan(tHosttPorts):
????try:
????????tIP?=?gethostbyname(tHost)
????except:
????????print(“[-]?Cannot?resolve?‘%s‘:?Unknown?host“%?
- 上一篇:iOS自動化測試自動允許彈框
- 下一篇:Python爬蟲爬取百度百科詞條源碼
評論
共有 條評論