python實現埠掃瞄

2021-08-11 03:51:00 字數 1628 閱讀 2838

一 **

import socket

import multiprocessing

def ports(ports_service):

#獲取常用埠對應的服務名稱

for port in list(range(1,100))+[143,145,113,443,445,3389, 8080]:

try:

ports_service[port] = socket.getservbyport(port)

except socket.error:

pass

def ports_scan(host, ports_service):

ports_open =

try:

sock = socket.socket(socket.af_inet, socket.sock_stream)

#sock.settimeout(60)

except socket.error:

print('socket creation error')

sys.exit()

for port in ports_service:

try:

#嘗試連線指定埠

sock.connect((host,port))

#記錄開啟的埠

sock.close()

except socket.error:

pass

return ports_open

if __name__=='__main__':

m = multiprocessing.manager()

ports_service = dict()

results = dict()

ports(ports_service)

#建立程序池,允許最多8個程序同時執行

pool = multiprocessing.pool(processes=8)

net = '192.168.0.'

for host_number in map(str,range(105,106)):

host = net+host_number

#建立乙個新程序,同時記錄其執行結果

print('starting '+host+'...')

#關閉程序池,close()必須在join()之前呼叫

pool.close()

#等待程序池中的程序全部執行結束

pool.join()

#列印輸出結果

for host in results:

print('='*30)

print(host,'.'*10)

for port in results[host].get():

print(port, ':', ports_service[port])

二 執行結果

python指令碼 埠掃瞄

記錄在b站學習的知識 利用tcp原理,通過編寫python指令碼,來檢測某個主機的埠開放情況,下面介紹兩種掃瞄,syn掃瞄和fin掃瞄 實驗環境 準備工作 展示from scapy.layers.inet import ip,tcp from scapy.sendrecv import sr syn...

Python 內網埠掃瞄

import socket,threadpool ports def scan poort port ip 192.168.1.131 s socket.socket socket.af inet,socket.sock stream socket.socket 建立socket 例項 af ine...

如何利用 Python 實現快速埠掃瞄?

對線上伺服器進行埠掃瞄是一件很有用的事,可以驗證你的防火牆規則,避免暴漏不需要的服務。也可以知道你機器上開了哪些服務,不用等烏雲爆出來了才知道,有人黑進內網玩了好幾個月。哈哈,真事,伺服器被通過zabbix黑進來,開了乙個socket5的程序,自由進出。反正,這玩意很有用,本著奉獻精神,把 放出來,...