python單ip埠掃瞄器

2022-09-08 04:27:14 字數 1170 閱讀 9266

from socket import *

import threading #匯入執行緒相關模組

# qianxiao996精心製作

lock = threading.lock()

opennum = 0

threads = #定義執行緒列表

def portscanner(host,port):

global opennum

try:

s = socket(af_inet,sock_stream)

s.connect((host,port))

lock.acquire() #因為opennum是個全域性變數,每個執行緒不能對opennum 同時操作,只有獲得所的執行緒才可以操作 opennum

opennum+=1

print('[+] %d open' % port)

lock.release() #執行緒對全域性變數opennum操作完成後,需要釋放鎖,其他執行緒才可以繼續修改全域性變數opennum

s.close()

except: #如果埠沒開,那麼就直接pass,不執行其他輸出操作。

pass

def main():

setdefaulttimeout(1)

#ports = [20, 21, 22, 23, 80, 111, 3306, 843] #定義要掃瞄的埠,也可以在for中使用range進行定義,看個人需求,例如 for p in range(1,1024):

for p in range(1,65535):

#for p in ports:

t = threading.thread(target=portscanner,args=(host,p))

t.start()

for t in threads: #等待執行緒列表中的所以執行緒的執行完畢

t.join()

print('[*] the scan is complete!')

print('[*] a total of %d open port' % (opennum))

if __name__ == '__main__':

main()

python單ip埠掃瞄器

from socket import import threading 匯入執行緒相關模組 qianxiao996精心製作 lock threading.lock opennum 0 threads 定義執行緒列表 def portscanner host,port global opennum t...

python 多ip埠掃瞄器

from socket import import threading 匯入執行緒相關模組 import re qianxiao996精心製作 lock threading.lock threads 定義執行緒列表 def portscanner host,port try s socket af ...

Python指令碼 埠掃瞄器

乙個用python寫的簡單的埠掃瞄器,python環境為 3.7.0,windows系統 掃瞄給定主機是否開放了指定的埠tcp連線掃瞄是利用tcp的三次握手來確定主機的埠是否開放。確定主機埠開放之後,給埠傳送訊息,接收埠返回的訊息,然後判斷該埠執行的服務。使用時,h 引數可以提供主機的網域名稱或者i...