본문으로 바로가기

DHCP

category SECURITY/Network 2017. 5. 23. 18:33


   DHCP


   DHCP ( Dynamic Host Configuration Protocol )

- 67,68/UDP

- 자동으로 IP를 설정하는 것을 말합니다.

- 자동으로 할당받으면서 DHCP서버와 호스트 컴퓨터와 메시지를 주고 받는데, 이때 UDP로 통신하기 때문에 상대방이 맞는지 확인할 수 없습니다.

  그래서 DHCP 프로토콜에서 Transaction ID를 통해서 인증을 하는 방식으로 상대방이 맞는지 확인하며 메시지를 주고 받는 것을 볼 수 있습니다.


1) Discovery : IP를 요청 (브로드 캐스팅)

 - DHCP 서버에게 IP를 요청합니다. (컴퓨터가 DHCP 서버를 찾기 위한 메시지)

2) Offer :  IP를 할당

 - DHCP 서버에서는 DHCP 서버의 IP 주소를 알려주고, 요청한 PC에게 예를 들어 10.10.10.10을 임대드릴 수 있습니다. 라고 메시지를 보냅니다.

3) Request : IP의 사용을 알림

 - PC측에서는 Offer 메시지를 받고 임대받을 수 있는 10.10.10.10을 DHCP 서버측에서 임대해달라고 요청하는 메시지를 보냅니다.

4) ACK : IP를 사용

 - DHCP 서버에서는 Request 메시지를 받고 10.10.10.10의 IP를 할당시켜주고, 임대기간을 설정해서 보내는 메시지를 보내면서 IP할당이 끝나게 됩니다. 


확인해보기위해서 현재 dhcp로 할당되어있는 컴퓨터를 재임대 받아보았습니다.

dhcp를 다시 임대받는 방법은 cmd 명령어 창에서 아래 명령어를 통해서 받을 수 있습니다.

#> ipconfig /release

#> ipconfig /renew

할당받을 때 wireshark로 캡쳐해서 메시지를 주고 받는지 확인해 보았습니다.

현재 Transaction ID가 동일하며, dhcp 메시지 4개를 통해서 주고받으며 IP를 할당받는 것을 볼 수 있습니다.


리눅스 환경에서도 DHCP 서버를 구축할 수 있습니다.

1) DHCP 서버 설치 : yum install dhcp.i686

2) DHCP 서버 설정 : /etc/dhcp/dhcpd.conf

서버를 설정한 뒤, service dhcpd start를 하게 되면 서버가 구동되는 것을 확인할 수 있습니다.

확인하는 명령어는 netstat -anu를 통해서 확인 가능합니다.



'SECURITY > Network' 카테고리의 다른 글

DNS - 2  (0) 2017.05.24
DNS - 1  (0) 2017.05.24
2계층 3계층 공격기법  (0) 2017.05.15
IP 소켓 프로그래밍 + icmp 소켓  (0) 2017.05.11
IP 소켓프로그래밍  (0) 2017.05.10