UniFi - BSSID 에서 MAC 매핑 ================================================================================================================== download at 2017-03-29T10:57:56Z `origin `_  Overview -------------- 아 문서는 기본 서비스 셋 식별자 (BSSID)와 radio MAC 주소 사이의 로직에 대하여 서술합니다. Notes & Requirements - **사용가능한 펌웨어 버전:** UAP Firmware 3.7.37+ - **적용 가능한 장비 모델:** Gen1, Gen2, Gen 3 UAPs (브로드컴 모델은 제외) UAP 세대가 궁금하다면 `이 문서 `__ 를 참조하십시오 -------------- Table of Contents -------------- #. `Introduction <#Intro>`__ #. `샘플 코드 <#sample%20code>`__ #. `관련 문서 <#related%20articles>`__ -------------- Introduction -------------- `맨위로 가기 <#top>`__ 액세스 포인트는 레이어 2 통신에서 각기 다른 인터페이스와 하기 위해 다수의 MAC 주소를 사용합니다. 무선 인터페이스의 MAC 주소는 BSSID라고 정의합니다. 무선 액세스 포인트는 동적으로 BSSID를 생성하고 다른 SSID와 다른 숫자를 갖습니다. 일반적으로 각 radio와 네트워크 인터페이스는 공장에서 출하 될 당시 AP에 프로그램된 고유 MAC 주소를 가지고 있습니다. 소프트웨어는 기본 MAC 주소에서 BSSID를 다음 로직을 통해서 추출합니다: - SSID를 기본 하드웨어 radio MAC 으로 사용 - 모든 하부 SSID(로컬 관리 MAC 주소)는 U/L 비트(첫번째 옥텟 비트 1)를 1로 세팅합니다. 부가적으로 첫번째 옥텟의 4bit를 증가합니다. (SSID index - 2) 예를 들어서 AP의 MAC 주소가 80:2a:a8:17:74:b5 이고 4 개의 SSID가 있다면 다음과 같이 매핑합니다.: SSID1 -> 80:2a:a8:17:74:b5 SSID2 -> 82:2a:a8:17:74:b5 SSID3 -> 92:2a:a8:17:74:b5 SSID4 -> a2:2a:a8:17:74:b5 MAC 주소(80:2a:a8:17:74:b5)가 radio의 MAC으로 브로드 캐스팅 하지만 유선 이더넷 포트의 MAC 주소와는 대응되지않습니다. 이더넷 포트는 보통 가까이 존재하기에 수정한 옥텟으로 정의하지 않습니다. -------------- 샘플 코드 -------------- `맨위로 가기 <#top>`__ 다음 파이썬 코드는 BSSID를 radio MAC 주소로 매핑하는 코드입니다: :: def get_mac(_bssid): macbytes = [int(i, 16) for i in _bssid.strip().split(":")] UBNT_OUIs = [ [  0x00, 0x15, 0x6d ] ,[  0x00, 0x27, 0x22 ]  ,[  0x04, 0x18, 0xd6 ]     ,[  0x24, 0xa4, 0x3c ]      ,[  0x44, 0xd9, 0xe7 ]    ,[  0x68, 0x72, 0x51 ] ,[  0x78, 0x8a, 0x20 ]     ,[  0x80, 0x2a, 0xa8 ]      ,[  0xb4, 0xfb, 0xe4 ]       ,[  0xdc, 0x9f, 0xdb ]       ,[  0xf0, 0x9f, 0xc2 ]  ,[  0xfc, 0xec, 0xda ] ] for oui in UBNT_OUIs:        if (macbytes[1]==oui[1] and macbytes[2]==oui[2]):            macbytes[0] = oui[0]    return ":".join(["{:02x}".format(i) for i in macbytes]) -------------- 관련 문서 -------------- `맨위로 가기 <#top>`__ `UniFi - 내 UAP의 하드웨어 세대는 어느것인가? `__