最簡單的埠掃瞄工具使用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...