이 영역을 누르면 첫 페이지로 이동
우당탕탕 보안이야기 블로그의 첫 페이지로 이동

우당탕탕 보안이야기

페이지 맨 위로 올라가기

우당탕탕 보안이야기

- 모의 해킹 - 취약점 분석/진단 - AWS

[SMTP] SMTP 상태코드(에러코드)별 종류와 이유

  • 2024.06.04 13:36
  • Red Team/정보보안
반응형

- 2024.06.04 -

 

SMTP

 

SMTP 서버를 최근 파이썬을 이용해 구축하다보니

여러가지를 다루게 되었는데.

그 중 SMTP의 상태코드. 즉, 에러코드 별

종류와 사유를 정리해 보기로 했다.

 

HTTP 상태코드야.. 당연히

취약점진단 및 모의해킹을 하는 사람들이면

접하기 쉬운 반면 SMTP 서버의 에러코드는 생소해서

나중에 코드별로 원인과 사유를 파악하기 쉽게

정리해 보기로 했다.

 

SMTP란?

SMTP은 Simple Mail Transfer Protocol의 약자로 해당 프로토콜은

인터넷에서 이메일을 송수신하는 데 사용되는 표준 프로토콜이다.

메일 서버 간의 메시지 전송뿐만 아니라

메일 클라이언트에서 서버로 메일을 전송하는 데 사용된다.

SMTP는 TCP/IP 프로토콜을 기반으로 하며, 일반적으로 TCP의 포트 25를 사용하고

또한 보안이 강화된 SMTP(예: SMTPS)는 포트 465나 587을 사용할 수 있습니다.

 

주요기능

이메일 전송

SMTP는 주로 이메일 메시지를 A서버에서 다른 B서버로 전송하는 데 사용된다

이메일 클라이언트가 사용자의 이메일을 발송할 때도 SMTP를 통해 전송한다.

이메일 큐잉

메일 서버는 일시적으로 전송할 수 없는 이메일을 큐에 저장해두었다가

전송이 가능할 때 다시 시도하여 전송하는 기능이다.


다중 수신자

SMTP는 한 번의 메시지 전송으로 여러 수신자에게 효율적으로 이메일을 보낼 수 있다.

 

작동 원리

SMTP 클라이언트와 서버 연결
이메일을 발송하려는 클라이언트는 SMTP 서버와 TCP 연결을 설정

헬로(HELO/EHLO) 명령
클라이언트는 HELO 또는 EHLO 명령을 사용하여 서버에 자신을 소개

메일 발송 요청 (MAIL FROM)
클라이언트는 발신자의 이메일 주소를 서버에 전달

수신자 지정 (RCPT TO)
클라이언트는 수신자의 이메일 주소를 서버에 전달합니다.

여러 명의 수신자를 지정이 가능함

메시지 전송 (DATA)
클라이언트는 DATA 명령을 사용하여 메시지 본문을 전송

메시지 끝은 점(.)으로 표시

세션 종료 (QUIT)
모든 메시지가 전송되면 클라이언트는 QUIT 명령을 사용하여 세션을 종료

 

에러 코드

에러코드들은 SMTP 프로토콜에 정의되어 있으며

메일 서버와 클라이언트 간의 통신 오류를 디버깅하고 해결하는 데 도움을 줍니다.

추가적인 상세 정보나 특정 상황에 따른 오류 메시지는

메일 서버의 로그를 확인 및 메일 서버 관리자의 도움을 받아야 할 수 있다.

에러코드 설명
2xx 성공
200 non-standard success response
211 시스템 상태나 시스템 도움 메시지
214 도움 메시지
220 서비스 준비 완료
221 서비스 닫힘
250 요청 메일 동작 완료
251 메일을 다른 곳으로 포워드 함
3xx 추가 정보 필요
354 메일 입력 시작
4xx 일시적인 에러 ( 잠시 후 다시 시도 가능 )
421 서비스 사용 불가, 연결 끊김.
450 요청된 메일 동작을 수행할 수 없음 (메일박스 잠금 중)
451 요청된 메일 동작 중 오류 발생 (로컬 오류 처리 중)
452 시스템 저장 공간 부족으로 요청된 메일 동작을 수행할 수 없음
5xx 영구적인 에러 ( 다시 시도해도 실패 )
500 명령어 인식 불가
501 매개변수 또는 인수 오류
502 명령어 실행 불가
503 명령어 순서 오류
504 명령어 매개변수 없음
550 요청된 메일 동작을 수행할 수 없음 : 메일박스 존재하지 않음
551 사용자가 다른 곳으로 이동했음
552 저장 공간 초과
553 메일 주소 형식 오류
554 트랜잭션 실패

 

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Red Team > 정보보안' 카테고리의 다른 글

CVSS 3.1 Calculate 및 각 명칭 별 설명  (2) 2024.12.23
[역량강화] 서브도메인 스캔과 nmap 사용법 및 OSINT  (1) 2024.06.03
[역량강화] Curl 이란?  (0) 2024.05.17
[역량강화] TLS 1.0, TLS 1.1 버전이 취약한 이유  (0) 2024.03.21

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • CVSS 3.1 Calculate 및 각 명칭 별 설명

    CVSS 3.1 Calculate 및 각 명칭 별 설명

    2024.12.23
  • [역량강화] 서브도메인 스캔과 nmap 사용법 및 OSINT

    [역량강화] 서브도메인 스캔과 nmap 사용법 및 OSINT

    2024.06.03
  • [역량강화] Curl 이란?

    [역량강화] Curl 이란?

    2024.05.17
  • [역량강화] TLS 1.0, TLS 1.1 버전이 취약한 이유

    [역량강화] TLS 1.0, TLS 1.1 버전이 취약한 이유

    2024.03.21
다른 글 더 둘러보기

정보

우당탕탕 보안이야기 블로그의 첫 페이지로 이동

우당탕탕 보안이야기

  • 우당탕탕 보안이야기의 첫 페이지로 이동

검색

메뉴

  • 홈

카테고리

  • 분류 전체보기 (66)
    • Whoami (1)
    • Malicious Code (9)
      • Analysis (5)
      • Review (4)
      • Recent Trend (0)
    • Digital Forensic (1)
    • Red Team (28)
      • Penetration Testing & CTF (13)
      • Tools (6)
      • 정보보안 (5)
      • Script (0)
      • AOS (4)
      • IOS (0)
    • Data Base (0)
    • Cloud System (3)
      • AWS (3)
    • OS (9)
      • Linux X (3)
      • Windows X (6)
    • Develope (14)
      • Dev Tools (3)
      • HTML (5)
      • CSS (4)
      • Python (1)
      • Source Code 분석 (1)
    • Synology (1)
      • NAS 서버 운영 (0)
      • NAS 서버 구축 (1)

정보

Wolfcall의 우당탕탕 보안이야기

우당탕탕 보안이야기

Wolfcall

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © Wolfcall. Designed by Fraccino.

티스토리툴바