[CentOS] SMTP Command 알아보기 [Wireshark / ChatGPT]
Nowhere 와 Now here 의 차이

IT/Network

[CentOS] SMTP Command 알아보기 [Wireshark / ChatGPT]

TIENE 2023. 9. 13. 16:23
반응형

SMTP Command 알아보기


 

1) Server 준비 완료

- 응답 코드(220): "220"은 SMTP 상태 코드로서, SMTP 서버가 메시지를 수신할 준비가 되어 있음을 나타내며, 이 경우 "220"은 성공적인 연결 및 준비 상태를 나타내는 코드다.

Simple Mail Transfer Protocol
    Response: 220 mailserver ESMTP Sendmail 8.14.7/8.14.7; Mon, 14 Aug 2023 16:38:40 +0900\r\n
        Response code: <domain> Service ready (220)
        Response parameter: mailserver ESMTP Sendmail 8.14.7/8.14.7; Mon, 14 Aug 2023 16:38:40 +0900

 

 

2) Server와의 통신 준비 완료

= 'HELO' 또는 'EHLO': 수신 이메일 서버와 SMTP 대화를 시작하기 위해 사용되는 명령이다. 수신 서버에 확인을 요청한다.

Simple Mail Transfer Protocol
    Command Line: EHLO Linux02\r\n
        Command: EHLO
        Request parameter: Linux02

 

 

3) Server 통신 준비 완료

- 응답 코드(250): "250"은 SMTP 상태 코드로서, 요청 메일 조치가 완료되었음을 의미한다. 각종 명령에 대한 긍정적인 반응으로 요청된 조치가 성공적으로 완료되었음을 나타냅니다.

Simple Mail Transfer Protocol
    Response: 250-mailserver Hello [192.168.1.131], pleased to meet you\r\n
        Response code: Requested mail action okay, completed (250)
        Response parameter: mailserver Hello [192.168.1.131], pleased to meet you
        Response parameter: ENHANCEDSTATUSCODES
        Response parameter: PIPELINING
        Response parameter: 8BITMIME
        Response parameter: SIZE
        Response parameter: DSN
        Response parameter: ETRN
        Response parameter: AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
        Response parameter: DELIVERBY
        Response parameter: HELP

 

 

 

4) Client

- 'MAIL FROM': 이 명령은 발신자의 이메일 주소(봉투 발신자)를 지정한다.

Simple Mail Transfer Protocol
    Command Line: MAIL FROM:<m2@tiene.vm>\r\n
        Command: MAIL
        Request parameter: FROM:<m2@tiene.vm>

 

 

 

5) Server 통신 준비 완료

- 응답 코드(250): "250"은 SMTP 상태 코드로서, 요청 메일 조치가 완료되었음을 의미한다.  송신자 측이 준비되었음을 알려준다.

Simple Mail Transfer Protocol
    Response: 250 2.1.0 <m2@tiene.vm>... Sender ok\r\n
        Response code: Requested mail action okay, completed (250)
        Response parameter: 2.1.0 <m2@tiene.vm>... Sender ok

 

 

6) Client

- 'RCPT TO': 수신자의 이메일 주소(봉투 수신자)를 지정하는 명령이다. 여러 개의 RCPT TO 명령을 사용하여 여러 명의 수신자를 지정할 수 있다.

Simple Mail Transfer Protocol
    Command Line: RCPT TO:<m1@tiene.vm>\r\n
        Command: RCPT
        Request parameter: TO:<m1@tiene.vm>

 

 

7) Server 통신 준비 완료

- 응답 코드(250): "250"은 SMTP 상태 코드로서, 요청 메일 조치가 완료되었음을 의미한다.  수신자 측이 준비되었음을 알려준다.

Simple Mail Transfer Protocol
    Response: 250 2.1.5 <m1@tiene.vm>... Recipient ok\r\n
        Response code: Requested mail action okay, completed (250)
        Response parameter: 2.1.5 <m1@tiene.vm>... Recipient ok

 

 

 

8) 데이터 송신#1

- 'DATA': 이메일 메시지 데이터 섹션의 시작을 나타내는 명령으로, 메시지 머리글과 본문을 포함한 이메일 내용이 그 뒤를 이룬다.

Simple Mail Transfer Protocol    
    Command Line: DATA\r\n        
        Command: DATA

 

9) 데이터 송신#2

- 응답 코드(354): "354"은 SMTP 상태 코드로서, 메일 입력을 시작하고 <CRLF>로 끝낸다.

- <CRLF>: DATA 명령 후 서버가 이메일 메시지를 수락할 준비가 되었음을 나타내기 위해 반환된다.

Simple Mail Transfer Protocol
    Response: 354 Enter mail, end with "." on a line by itself\r\n
        Response code: Start mail input; end with <CRLF>.<CRLF> (354)
        Response parameter: Enter mail, end with "." on a line by itself

 

 

10) 데이터 송신#3

- "[Reassembly DATA in frame: 237]" : DATA 명령 또는 이메일 내용이 네트워크 패킷 캡처 또는 분석의 일부로 재조립되었음을 나타낸다. 예를 들어, 네트워크 패킷 캡처 도구 또는 Wireshark에서 데이터는 네트워크를 통해 전송하기 위해 여러 프레임으로 분할될 수 있다.

- "frame: 237" :  DATA 명령 또는 이메일 내용의 일부를 포함하는 특정 프레임 또는 패킷을 의미할 수 있으며, 완전한 명령 또는 내용을 재구성하기 위해 재조립되었다.

Simple Mail Transfer Protocol
    Line-based text data (1 lines)
    [Reassembled DATA in frame: 237]

 

 

 

 


11) 데이터 송신#4

- 'C: .:' : SMTP 클라이언트에서 서버로 보내는 명령이다. "."은 일반적으로 SMTP에서 전자 메일 메시지 데이터의 끝을 나타내는 데 사용는데, DATA 명령을 종료하고 전자 메일 메시지가 완료되었음을 서버에 알리는 데 사용된다.

- [2 DATA fragments (316바이트) : #235(71), #237(245) :] 이 줄은 이메일 메시지 데이터(이메일 내용)가 두 조각으로 나누어 송신되고 있음을 나타낸다. 각 fragment에는 일정 수의 바이트가 포함되어 있다.

SMTP에서 DATA 명령이 실행되면 클라이언트는 헤더와 이메일 본문이 포함된 이메일 메시지 내용을 전송한다. 데이터는 전송을 위해 더 작은 부분(조각)으로 분할되고 수신 서버가 전체 이메일 메시지를 재구성하기 위해 재조립하는 경우가 많다. 이 경우에는 총 316바이트에 달하는 두 조각이 있고, 이 조각들은 함께 전송되는 전자 메일 메시지의 내용을 구성한다.

Simple Mail Transfer Protocol
    C: .
    [2 DATA fragments (316 bytes): #235(71), #237(245)]

 

 - 인터넷 메시지 형식에 표시된 전자 메일 메시지로서 이 형식은 전자 메일 메시지의 구조와 내용을 설명하는 데 일반적으로 사용된다. 전체적으로 이 형식은 보낸 사람, 받는 사람, 제목 및 메시지의 특성을 설명하는 다양한 머리글을 포함한 전자 메일 메시지의 메타데이터를 구조적으로 표현된다.

Internet Message Format
    Message-ID: <32f05e378cab30b8e381e5f788570caab83c800c.camel@tiene.vm>
    Subject: testset
    From: m2 <m2@tiene.vm>, 1 item
    To: m1@tiene.vm, 1 item
    Date: Mon, 14 Aug 2023 16:38:40 +0900
    Content-Type: text/plain
    X-Mailer: Evolution 3.28.5 (3.28.5-10.el7) 
    MIME-Version: 1.0
    Content-Transfer-Encoding: quoted-printable
    Message-Text
      stsetset

 

 

 

 

12) 데이터 송신 완료

- 응답 코드(250): "250"은 SMTP 상태 코드로서, 요청 메일 조치가 완료되었음을 의미한다.  송신이 완료되었음을 알린다.

Simple Mail Transfer Protocol
    Response: 250 2.0.0 37E7ceLc011805 Message accepted for delivery\r\n
        Response code: Requested mail action okay, completed (250)
        Response parameter: 2.0.0 37E7ceLc011805 Message accepted for delivery

 

 

13) SMTP 세션 종료 요청

- 'QUIT': SMTP 세션을 종료하고 연결을 닫을 때 사용하는 명령어다.

Simple Mail Transfer Protocol
    Command Line: QUIT\r\n
        Command: QUIT

 

 

14) SMTP 세션 종료 응답 완료

- 응답 코드(221): "221"은 SMTP 상태 코드로서,서버가 송신 채널을 닫기 위해 사용하는 코드는 클라이언트의 QUIT 명령어에 대한 응답이다.

Simple Mail Transfer Protocol
    Response: 221 2.0.0 mailserver closing connection\r\n
        Response code: <domain> Service closing transmission channel (221)
        Response parameter: 2.0.0 mailserver closing connection


 

반응형