본문 바로가기

Programing

MAC주소와 서브넷마스크 구하기

MAC 주소 구하기

ARP를 이용하면 같은 네트워크에 있는 호스트의 MAC주소를 쉽고도 빠르게 구할 수 있다.

msdn : SendARP API 참고

 

하지만 다른 네트워크의 호스트의 MAC주소는 어떻게 가져올까? 호스트에서 snmp agent가 있어서 서비스를 제공하고 있다면

대부분 MAC주소와 관련된 정보를 조회할 수 있다.

 

ipAdEntIfIndex(1.3.6.1.2.1.4.20.1.2) 를 이용해서 인터페이스의 인덱스를 구하고

그 인덱스의  ifPhysAddress(1.3.6.1.2.1.2.2.1.6)를 GET하면 된다.

인터페이스의 타입이 이더넷(ethernet)인지 확인하자.. eg) ifType(1.3.6.1.2.1.2.2.1.3)

 

예) 대상 IP가 192.168.10.3 일때

SNMP GET 1.3.6.1.2.1.4.20.1.2.192.168.10.3 => 2 [ASN_INTEGER32]

SNMP GET 1.3.6.1.2.1.2.2.1.6.2 => 00-1D-72-90-C3-4B [ASN_OCTETSTRING]

NETMASK 구하기

ipAdEntNetMask(1.3.6.1.2.1.4.20.1.3) 를 이용하면 쉽게 구할 수 있다.

1.3.6.1.2.1.4.20.1.3. 에 호스트의 IP를 붙여서 GET 요청을 보낸다.

예) 대상 IP가 192.168.10.3 일때

SNMP GET 1.3.6.1.2.1.4.20.1.3.192.168.10.3 => 255.255.255.0 [ASN_IPADDRESS]

'Programing' 카테고리의 다른 글

SNMP 래퍼 클래스  (0) 2012.09.21
SNMP 프로그래밍  (0) 2012.09.21
활성화된 네트워크 열거하기  (0) 2012.09.21
구글 크롬 소스코드 빌드하기  (0) 2012.09.21
구글 크롬 소스코드  (0) 2012.09.21