2013년 11월 27일 수요일

DHCP 패킷 분석 - 1





<Client -> Server> 



<Server - > Client> 


DHCP는 신뢰성이 내장되어 있으므로 UDP 기반의 통신을 한다.

특이한 점은 서버로 IP 임대를 요청하는 Clinet의 포트가 
임시 포트가 아닌 68번 포트로 고정되어 있다.










1. Message Type (OpCode)
= 패킷이 요청인지 응답인지 나타낸다.
  1 = Request (요청)
  2 = Reply (응답)

2. Hardware Type
= 물리적인 네트워크 타입을 나타낸다. 
  이더넷의 경우는 0x01 의 값으로 설정된다.

3. Hardware length 
= 물리적 주소의 길이를 나타낸다. 
  이더넷의 MAC address의 경우는 길이가 6으로 표기 된다. (6 byte)

4. Hops
= 패킷의 최대 홉 수를 나타낸다.
  DHCP 서버를 찾기 위해 중계 에이전트에 의해 사용된다.
  만일 DHCP 서버 까지 홉수가 모자른다면 패킷은 도달하지 못한다.

5. Transaction ID
= 하나의 Request, Reply 는 동일한 트렌젝션 ID를 가진다.
  식별자 정도로 생각하면 된다.

6. Seconds elapsed
= 클라이언트가 맨처음 DHCP 서버에게 주소 요청을 한 이후의 경과 시간을 나타낸다.

7. Bootp Flags
= 클라이언트가 이 필드에 설정된 값으로 요청 패킷을 보내면 
  서버로 부터Broadcast 또는 Unicast로 응답 받게 된다. 
  (Broadcast flag 필드에에 설정된 값이 1 이면 Broadcast, 0이면 Unicast를 나타낸다.)

8. Client IP address
= 요청하는 클라이언트의 IP 주소를 나타낸다.
  
9. Your IP address
= 임대 가능한 IP 주소가 들어있다. 
  서버에서 임대 요청에 대한 응답을 할때 이 필드에 임대 IP를 설정하여 응답한다.

10. Server IP address
= DHCP 서버의 IP 주소

11. Gateway IP address ( Relay agent IP address )
= 게이트웨이의 주소를 나타낸다.

12. Client Hardware address
= IP 임대 요청을 하는 클라이언트의 하드웨어 주소가 설정 되어 있다.
  이더넷의 경우 MAC 주소가 이 필드에 설정된다.

13. Server Host name
= 서버의 호스트 네임을 나타낸다.

14. Boot File name
= DHCP가 사용할 부트 파일

15. Option
= 추가 기능을 주기 위한 필드이다. 여러가지 옵션을 추가 할 수 있으며 확장성을 가지고 있다.
  



[출처] DHCP 패킷 분석 - 1 |작성자 육육

댓글 없음:

댓글 쓰기