POP 3(Post Office Protocol v3)은 수신하는 계정의 메일 박스에서 메일을 가져오는 프로토콜로 대부분의 이메일 클라이언트에서 채택하여 사용 하고 있으며, TCP 110번 포트를 사용한다. POP 자체는 이메일 데이터 전송함에 있어 보안을 제공하지 않는다.
다음은 일반적인 POP 통신을 보여준다.
[그림.1 일반적인 POP 통신]
1. 사용자가 계정 ID와 Password를 입력하면, POP 서버는 이메일이 몇 개 도착하였는지, 클라이언트에게 알린다.
([그림.1]에서는 1개의 메시지가 있다고 알린다.)
2. 클라이언트가 메시지의 상태를 묻는다.
3. POP 서버는 해당 메시지의 크기를 클라이언트에게 알려준다.
4. 클라이언트는 해당 메시지의 고유 ID를 묻는다.
5. POP 서버는 해당 메시지의 고유 ID를 클라이언트에게 알려준다.
(이후 메시지 다운로드 과정 생략)
6. 이메일 메시지의 다운로드가 완료되었으면, 클라이언트는 메시지 삭제 명령어를 보낸다.
7. POP 서버는 메시지가 삭제 되었다는 응답을 보낸다.
8. 클라이언트는 POP 통신을 종료한다. 참고로, POP 통신은 지속적인 연결을 유지 하지 않는다. 메시지 다운로드가 완료되면 바로 연결을 종료한다.
다음으로 POP 패킷의 구조에 대해 알아보자.
POP 패킷은 구조가 매우 단순하다. POP Request 패킷은 Request Command와 Request Parameter로 구성되어 있다.
[그림.1 POP Request 패킷]
Request Command 클라이언트가 보낸 명령어 부분이며, Request Parameter는 클라이언트가 요청한 이메일 메시지 번호를 나타낸다.
아래의 [표.1]은 클라이언트 명령어 목록이다.
명령어 | 설명 | 파라미터 유무 |
USER | 사용자 ID | |
PASS | 사용자 Password |
|
STAT | 서버 상태 / 메시지 상태 |
|
UIDL | 메시지의 고유 ID 확인 |
|
LIST | 존재하는 메시지 리스트와 메시지 크기 확인 |
|
RETR | 이메일 메시지 검색 | V |
DELE | 이메일 메시지 삭제 | V |
QUIT | 연결 종료 |
|
PIPPELINING | POP 서버가 동시에 다중 명령어를 받아 들일 수 있음을 알림 |
|
POP Response 패킷은 Response Indicator과 Response Description으로 구성되어 있다.
[그림.2 POP Response 패킷]
Response Indicators는 +OK와 –ERR 두 개의 메시지만 존재 하며, 이것은 정상적으로 해당 명령어가 이루어 졌는지, 아니면 에러가 발생했는지 알려주는 역할을 한다.
Response Description은 클라이언트가 보낸 명령어에 대한 POP 서버가 처리한 내용의 간단한 설명을 나타낸다.
참고
http://www.iana.org/assignments/pop3-extension-mechanism
패킷 캡처 파일 :www.wiresharkbook.com 이용
'Analysis' 카테고리의 다른 글
기본적인 HTTP Packet 분석 (0) | 2013.01.30 |
---|---|
기본적인 SMTP Packet 분석 (0) | 2013.01.30 |
기본적인 FTP Packet 분석 (0) | 2013.01.30 |
기본적인 TCP Packet 분석 (0) | 2013.01.30 |
기본적인 DHCP Packet 분석 (0) | 2013.01.30 |