用python實現乙個埠掃瞄器

2021-08-14 09:16:46 字數 936 閱讀 9793

最簡單的埠掃瞄工具使用tcp連線掃瞄的方式,即利用作業系統原生的網路功能,且通常作為syn掃瞄的替代選項。nmap將這種模式稱為連線掃瞄,因為使用了類似unix系統的connect()命令。如果該埠是開放的,作業系統就能完成tcp三次握手,然後埠掃瞄工具會立即關閉剛建立的該連線,防止拒絕服務攻擊。

#!/usr/bin/python

# -*- coding: utf-8 -*-

import sys

import thread

from socket import *

deftcp_test

(port):

sock = socket(af_inet,sock_stream)

sock.settimeout(10)

result = sock.connect_ex((target_ip,port))

if result == 0:

lock.acquire()

print

"open ports:",port

lock.release()

if __name__ == '__main__':

# port_scan.py -

host = sys.argv[1]

portstrs = sys.argv[2].split('-')

start_port = int(portstrs[0])

end_port = int(portstrs[1])

target_ip = gethostbyname(host)

lock = thread.allocate_lock()

for port in range(start_port,end_port+1):

thread.start_new_thread(tcp_test,(port,))

用Python實現乙個埠掃瞄,只需簡單幾步就好

0 秘密掃瞄 秘密掃瞄是一種不被審計工具所檢測的掃瞄技術。它通常用於在通過普通的防火牆或路由器的篩選 filtering 時隱藏自己。秘密掃瞄能躲避ids 防火牆 包過濾器和日誌審計,從而獲取目標埠的開放或關閉的資訊。由於沒有包含tcp 3次握手協議的任何部分,所以無法被記錄下來,比半連線掃瞄更為隱...

python實現埠掃瞄

一 import socket import multiprocessing def ports ports service 獲取常用埠對應的服務名稱 for port in list range 1,100 143,145,113,443,445,3389,8080 try ports servi...

用JAVA實現乙個簡單的埠掃瞄功能

思路,使用socket物件的connect方法,輸入準備掃瞄的主機名和埠號,根據方法執行階段是否丟擲異常來判斷該埠能否正確訪問,具體 如下 param domain 主機網域名稱或者ip param startport 開始埠 param endport 結束埠 private static voi...