agencies

파이썬 프로그래밍 열린 포트 확인 본문

Ⅲ. 정보보안

파이썬 프로그래밍 열린 포트 확인

agencies 2024. 2. 12. 09:50

스크립트

import socket

def port_scan(host, port):
    try:
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(1)  # 타임아웃 설정 (초 단위)
        result = sock.connect_ex((host, port))
        if result == 0:
            print(f"Port {port} is open")
        else:
            print(f"Port {port} is closed")
        sock.close()
    except Exception as e:
        print(f"Error scanning port {port}: {e}")

def main():
    host = input("Enter the target host IP address: ")
    start_port = int(input("Enter the starting port number: "))
    end_port = int(input("Enter the ending port number: "))
    
    print(f"Scanning ports {start_port} to {end_port} on host {host}...")
    
    for port in range(start_port, end_port + 1):
        port_scan(host, port)

if __name__ == "__main__":
    main()

 

1. 스캔할 대상 호스트의 IP 주소를 입력

2. 스캔할 포트 범위의 시작 포트 번호 입력

3. 스캔할 포트 범위의 끝 포트 번호 입력

4. 지정된 포트 범위를 스캔하여 열려있거나 닫혀있는 포트의 상태를 출력


import socket

socket의 모듈을 가져옵니다. (이 모듈은 네트워크 통신에 사용됩니다)

 

def port_scan(host, port)

port_scan 함수를 정의합니다. 이 함수는 주어진 호스트와 포트 번호를 이용하여 포트 스캔을 수행합니다.

 

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

TCP 소켓을 생성합니다. socket.AF_INET은 IPv4 주소 체계를 사용하고 socket.SOCK_STREAM은 TCP 소켓을 의미합니다.

 

sock.settimeout(1)
소켓의 타임아웃을 1초로 설정합니다. (연결 시도가 지정된 시간 내에 이루어지지 않으면 타임아웃이 발생합니다)

 

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

connect_ex() 메서드를 사용해서 지정된 호스트 및 포트로 연결을 시도합니다. (result에는 연결 결과가 반환됩니다)

* 연결 결과가 0이면 해당 포트는 열려 있고, 그렇지 않으면 포트가 닫혀 있음을 나타내고 메시지를 출력합니다.

 

sock.close()

소켓을 닫습니다.

 

except Exception as e:

예외가 발생하면 해당 예외를 출력합니다.

 

 

* 열려 있는 포트를 확인했습니다.

80번 포트 : HTTP 서비스에 사용되는 표준 포트

135번 포트 : RPC(remote procedure call)서비스에 사용되는 것으로 네트워크 상에서 프로세스 간 통신을 위한 프로토콜입니다. (클라이언트 컴퓨터는 원격 시스템의 프로시저를 호출하고 실행할 수 있습니다)

445번 포트 : SMB 프로토콜로 (파일 공유 프린터 공유 네트워크 리소스 및 서비스에 대한 액세스 등을 위해 사용됩니다) 주로 로컬 및 원격 시스템 간의 파일 및 프린터 공유를 위해 사용됩니다.

 

'Ⅲ. 정보보안' 카테고리의 다른 글

PHP 기초 게시판 만들기  (0) 2024.02.12
PHP와 mysql 연동하기  (1) 2024.02.12
2013년 OWASP Top 10  (0) 2024.02.12
해킹 기초 지식  (0) 2024.02.11
HTML 속성  (0) 2024.02.11