강좌
클라우드/리눅스에 관한 강좌입니다.
해킹&보안 분류

IP주소로 MAC주소를 찾기 위한 arp를 기반 이론

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

IP주소로 MAC주소를 찾기 위한 arp 기반 이론

 

 

 

 

리눅스 서버의 /proc/net/arp파일에는 현재 동일 네트워크 내에 존재하는 호스트들의 IP주소와 MAC주소(ethernet주소), 그리고 기본 H/W정보타입 등이 저장되어 있습니다.

 

 

 

  아래의 예는 현재 필자의 리눅스 서버의 /proc/net/arp파일의 예입니다.

 

 

 

 

 

[root@su20 ~]# cat /proc/net/arp

IP address       HW type     Flags       HW address            Mask     Device

192.168.0.158    0x1         0x2         00:1A:92:93:B7:B6     *        eth0

192.168.0.100    0x1         0x2         00:C0:26:27:E5:CB     *        eth0

192.168.0.1      0x1         0x2         00:0F:EA:91:22:F0     *        eth0

192.168.0.155    0x1         0x2         00:21:00:22:2A:50     *        eth0

[root@su20 ~]#

 

 

 

 

 

, 리눅스의 arp명령어는 /proc/net/arp파일을 참조하여 현재 서버와 동일 네트워크에 존재하는 호스트(서버)들의 IP정보와 MAC주소(ethernet주소, 위의 예에서는 HW address) 관한 정보를 출력하는 명령어입니다.

 

 

 

 

 

이런 arp명령어를 이용하면서 우리는 ARP(Address Resolution Protocol) RARP(Reverse Address Resolution Protocol) 대한 기본적인 이해가 필요할 것입니다.

 

 

 

  잠깐 이에 대한 설명을 하도록 하겠습니다.

 

 

 

 

 

우리가 가장 흔하게 사용하는 TELNET, FTP또는 WWW등의 모든 인터넷 서비스들을 이용하여 다른 서버와 통신을 때에 일반적인 사람들은 서버의 IP주소를 가지고 통신을 한다고 생각하고 있습니다.

 

 

 

  맞는 말입니다.

 

 

 

  하지만 실제 하드웨어적인(물리적인)관점에서의 실제 통신은 IP주소를 이용하는 것이 아니라 ethernet주소(MAC주소, HW address)라고 하는 것을 이용하여 실제 통신이 이루어 집니다.

 

 

 

  ,  ARP라는 프로토콜을 이용하여 IP주소를 ethernet주소(MAC주소, HW address) 매칭한 후에 실제 통신은 ethernet주소를 통하여 이루어 진다는 것입니다.

 

 

 

 

 

여러분들께서도 아시겠지만 IP주소도 유일하지만 ethernet주소(MAC주소)또한 유일하기 때문에 중복으로 인한 통신장애는 발생하지 않습니다.

 

 

 

  ethernet카드를 생산하는 모든 업체들의 제품들은 세계적으로 유일하게 지정되기 때문입니다.

 

 

 

  하지만 ethernet 할당하는 IP주소는 다른 IP주소로 바뀔 수가 있지만, Ethernet주소(MAC주소) 생산할 한번 정해진 이후에는 절대 바뀌는 일이 없습니다.

 

 

 

 

 

앞에서 예로든 /proc/net/arp파일에서 HW address부분이 ethernet주소로서 IP주소 192.168.0.158 해당하는 ethernet주소가 00:1A:92:93:B7:B6입니다.

 

 

 

  , IP주소와 마찬가지로 유일하게 식별되는 주소를 가지고 실제 통신이 이루어 진다는 의미입니다.

 

 

 

 

 

따라서 정확한 통신이 이루어지기 위해서는 ethernet주소(MAC주소) 매칭되는 IP주소를 알아야 하며 이를 위하여 우리가 알고 있는 IP주소를 ethernet주소(MAC주소) 변경시켜주는 역할을 ARP(Address Resolution Protocol) 하게 됩니다.

 

 

 

 

 

그리고 이와는 반대로 ethernet주소(MAC주소) 가지고 IP주소와 매칭시키는 과정을 RARP(Reverse Address Resolution Protocol)라고 합니다.

 

 

 

 

 

IPv4에서 IP 데이터 전체구조에서 보면 IP주소는 32 bit 구성되어있으며 이와 매칭되는 ethernet주소( MAC주소) 48 bit 구성되어 있습니다.

 

 

 

 

 

, ARP 상대방의 MAC주소와 매칭하는 간단한 과정은 다음과 같습니다.

 

 

 

 

 

통신을 원하는 서버에서 현재 네트워크내의 모든 서버들에게 "ARP Request"라고 하는 패킷을 송신합니다.

 

 

 

 그리고 패킷에는 통신하고자 하는 IP주소가 포함되어 있으며 패킷을 받은 호스트들 가운데 해당 IP주소에 해당하는 호스트는 자신의 ethernet주소(MAC주소) 송신한 서버에게로 보내게 되는데 이를 "ARP Reply"라고 합니다.

 

 

 

 

 

이렇게 서버간의 ARP 이용한 통신대상서버의 확인이 완료되면 이후부터는 IP주소가 아닌 ethernet주소를 이용하여 TELNET,  FTP,  WWW등의 통신이 이루어 지게 되는 것입니다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,032 명
  • 현재 강좌수 :  35,773 개
  • 현재 접속자 :  187 명