보안 / AI / 프로그래밍
[0x431] 하위 계층 분석 - 데이터 링크 계층(OSI 2 계층) / MAC 주소 / ARP 본문
[0x431] 하위 계층 분석 - 데이터 링크 계층(OSI 2 계층) / MAC 주소 / ARP
DevKTW 2021. 2. 3. 00:59[0x431] 데이터 링크 계층
- 데이터 링크 계층에는 이터넷 (Ethernet) 프로토콜이 있다.
- 이더넷 프로토콜에서 사용하는 이더넷 주소는 MAC (Media Access Control) 주소, 하드웨어 주소 라고도 부른다.
- 모든 이더넷 장치는 6 바이트의 전세계적으로 고유한 주소를 할당 받는다. ( xx : xx : xx : xx : xx : xx 형태)
- 하나의 네트워크에 속하는 두 컴퓨터는 MAC 주소를 알기 전까지 서로 통신 할 수 없다.
- 그러므로 네트워크에서 MAC 주소를 알아내기 위해서 ARP 를 사용한다.
의문점 : 하나의 네트워크에 속하는 두 컴퓨터는 왜 MAC 주소를 알 기 전까지 서로 통신 할 수 없을까?
해결 : ...(-ing)
[0x431] 데이터 링크 계층 - ARP ( Address Resolution Protocol / 주소 결정 프로토콜 )
ARP 프로토콜 : 네트워크 상에서 IP 주소를 물리적 네트워크 주소로 대응 (bind) 시키기 위해 사용되는 프로토콜이다.
여기서 물리적 네트워크 주소는 이더넷 주소 ( MAC 주소 ) 또는 토큰링의 48 비트 네트워크 카드 주소를 뜻한다.
:: [ ARP 작동 원리 ] ::
먼저 IP 주소가 10.10.10.20 인 시스템을 A / IP 주소가 10.10.10.30 인 시스템을 B 라고 부르겠다.
A는 B와 TCP 연결을 맺고 싶다고 가정하자.
1) A는 먼저 ARP 캐시를 검사해 10.10.10.30 ( B의 IP 주소 ) 에 해당하는 항목이 있는지 검사한다.
2) A는 ARP 캐시에서 해당 항목을 찾지 못했다면 BroadCast 주소로 ARP 요청 메세지를 전송한다.
이 메세지의 의미는 " IP 주소가 10.10.10.30 인 시스템은 MAC 주소를 00:00:00:aa:aa:aa 로 보내달라"는 의미이다.
3) BroadCast 주소로 전송되므로 모든 시스템이 ARP 요청 메세지를 받지만, ARP 요청 메세지에 해당하는 시스템'만' ARP 응답 메세지를 보낸다. 이 경우 B 가 A 에게 ARP 요청 메세지를 보내게 된다.
4) ARP 요청 메세지를 받는 A 는 ARP 캐시에 < IP 주소 , MAC 주소 > 쌍을 저장하고, 이 저장된 값을 통해 통신한다.
의문점 : 사진도 그렇고, 왜 하나의 네트워크에서만 ARP 를 사용하는가? 외부에서 ARP 를 요청하고 받을수 없나?
해결 : ARP 요청, 응답 패킷 분석 : 네이버 블로그 (naver.com)
의문점 : 실험해보자. 정말 그러한가?
해결 : ...(-ing)
'Hacking :: The Art Of Exploitation > 0x400 :: 네트워킹' 카테고리의 다른 글
[0x433] 전송계층 ( OSI 4계층 ) - TCP (0) | 2021.02.05 |
---|---|
[0x432] 네트워크 계층 (OSI 3계층) / IP HEADER (0) | 2021.02.03 |
[0x423] 네트워크 바이트 순서 // 엔디언 (0) | 2021.01.23 |
[0x420] 프로토콜 ( Protocol ) // 소켓 ( Socket ) // 소켓 관련 C 함수 (0) | 2021.01.12 |
[0x410] OSI (Open Systems Interconnection) 7 계층 / 패킷 / 캡슐화 (0) | 2021.01.10 |