-
大小: 3KB文件類型: .py金幣: 1下載: 0 次發(fā)布日期: 2021-01-07
- 語(yǔ)言: Python
- 標(biāo)簽:
資源簡(jiǎn)介
課程設(shè)計(jì),制作基于socket庫(kù)的端口掃描器程序,分別針對(duì)TCP和UDP
代碼片段和文件信息
import?optparse;
import?nmap
from?socket?import?*;
from?threading?import?*;
screenLock?=?Semaphore(value=4)?#處理多線程問(wèn)題,使用screenLock.acquire()執(zhí)行加鎖
‘‘‘
使用socket進(jìn)行端口掃描,通過(guò)socket(AF_INETSOCK_STREAM)指定基于IPv4網(wǎng)絡(luò),tcp連接,
使用connect去進(jìn)行連接,成功則為端口開放,失敗則為端口關(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“%?
評(píng)論
共有 條評(píng)論