網絡安全中,端口掃描是滲透測試的重要步驟之一。今天,讓我們用 Python 寫一個簡單的端口掃描器,幫助快速了解目標伺服器的開放端口狀態。
代碼示例
import socket from concurrent.futures import ThreadPoolExecutor def scan_port(ip, port): """掃描單個端口""" try: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.settimeout(1) s.connect((ip, port)) print(f"[+] Port {port} is open") except: pass def main(): ip = input("請輸入目標IP地址:") start_port = int(input("請輸入起始端口:")) end_port = int(input("請輸入結束端口:")) print(f"掃描目標 {ip} 的端口...") with ThreadPoolExecutor(max_workers=50) as executor: for port in range(start_port, end_port + 1): executor.submit(scan_port, ip, port) if __name__ == "__main__": main()
使用方法
1. 將代碼保存為 port_scanner.py 文件。
2. 在終端執行:python port_scanner.py。
3. 輸入目標 IP 地址及端口範圍,例如:
請輸入目標IP地址:192.168.1.1 請輸入起始端口:1 請輸入結束端口:1000
4. 查看掃描結果,打開的端口會顯示在終端中。
注意事項
• 本工具僅供學術研究與合法測試用途,請勿用於非法行為。
• 如需進一步擴展功能,可以結合 nmap 或其他網絡安全工具進行深度分析。
期待大家的回饋與討論!有任何問題或改進建議,更多技術分享及群組請聯繫我們!