파이썬 초보인데 nmap 같은 간단한 포트 스캐너를 직접 만들어보고 싶습니다. 가능할까요?
파이썬 socket 모듈로 간단한 포트 스캐너를 만들 수 있습니다:
import socketimport threadingdef scan_port(host, port): try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(1) result = s.connect_ex((host, port)) if result == 0: print(f"Port {port}: OPEN") s.close() except: passhost = "127.0.0.1"for port in range(1, 1025): t = threading.Thread(target=scan_port, args=(host, port)) t.start()
이건 학습용이고, 실제로는 nmap이 훨씬 빠르고 정확합니다. 하지만 직접 만들어보면 TCP 3-way handshake와 소켓 프로그래밍을 이해하는 데 큰 도움이 됩니다.
반드시 자기 소유 시스템에서만 테스트하세요.
댓글 2
파이썬 socket 모듈로 간단한 포트 스캐너를 만들 수 있습니다:
이건 학습용이고, 실제로는 nmap이 훨씬 빠르고 정확합니다. 하지만 직접 만들어보면 TCP 3-way handshake와 소켓 프로그래밍을 이해하는 데 큰 도움이 됩니다.
반드시 자기 소유 시스템에서만 테스트하세요.