본문으로 바로가기

ARP 소켓 프로그래밍

category SECURITY/Network 2017. 5. 1. 20:04


 

   ARP 소켓 프로그래밍

 

   ARP

- Layer 3계층(IP Address)주소를 사용해서 Layer 2계층(MAC Address)주소를 학습하는 프로토콜

  기본 이론 참고 : http://security04.tistory.com/24


   ARP 헤더

1) H/W Type (2바이트) : ethernet = 1

2) Protocol type (2바이트) : IPv4 (0x0800) IPv6(0x86DD)

3) H/W size (1바이트) : 하드웨어 주소의 크기 (ethernet size : 6)

4) Protocol size (1바이트) : 프로토콜 주소의 크기 (IPv4 protocol size : 4)

5) opcode (2바이트) : ARP type (request : 01, reply : 02)

6) sender mac address (6바이트) : 보내는 사람의 하드웨어 주소

7) sender ip address (4바이트) : 보내는 사람의 IP 주소

8) target mac address (6바이트) : 받는 사람의 하드웨어 주소

9) target ip address (4바이트) : 받는 사람의 IP 주소

10) 패딩

 

[ vi sniffer.py ]

[ vi mypacket.py ]

[ 결과창 ]

arp 명령어를 통해 arp테이블이 현재 어떻게 구성되어있는지 확인한 상태에서 sniffer를 열고, ping을 보내주게 된 뒤에 다시 arp로 확인하게 되면 ping을 보냈던 ip주소가 arp테이블에 추가된 것을 확인해 볼 수 있습니다.

처음에 내 mac주소에서 브로드캐스트로 패킷을 보낸뒤에 해당되는 패킷이 나에게 다시 보낸다는 것을 확인해 볼 수 있습니다.

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

IP 소켓프로그래밍  (0) 2017.05.10
ARP 공격  (0) 2017.05.04
이더넷 소켓 프로그래밍  (0) 2017.04.28
IP 로우 소켓 프로그래밍  (0) 2017.04.27
리눅스 네트워크 설정  (1) 2017.04.27