일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- codeup
- 국가기록원
- 웹 해킹 입문
- webhacking
- 화학물질
- 화학물질안전원
- Los
- 대외활동
- UKPT level
- 파이썬
- 국정원
- nurisec
- 12기
- 불법유통근절
- 화학물질불법유통온라인감시단
- 기타정보
- suninatas
- HTML
- 도구모음
- 여행
- Service
- 연구모임
- MITRE ATT&CK
- 경기팀
- 프로젝트
- 정보보안
- 국가정보원
- 불법유통
- UKPT
- PHP
- Today
- Total
agencies
파이썬 프로그래밍 열린 포트 확인 본문
스크립트
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 |