2016-10-19 7 views
1

내 앱의 요점은 내가 연결되어있는 네트워크를 기반으로하는 작업을 제한하는 것입니다. 액세스 포인트의 MAC 주소 또는 BSSID로 네트워크를 정의하기로 결정했습니다. WifiInto의 getConnectionInfo() 및 getBSSID()를 사용하여 액세스 포인트의 BSSID를 가져옵니다.Android : 동일한 액세스 포인트에 대해 다른 bssid 받기

저는 BSSID가 액세스 포인트에 대해 고유하다는 인상하에 있습니다. 그러나, 다른 장치에 걸쳐, 나는 약간 다른 BSSID를 얻고있다. (마지막 4 자리 숫자는 다르지만 첫 8 숫자는 같다.) 그리고 같은 장치에서도 연결시 BSSID가 약간 다를 수 있습니다.

내 질문에, 액세스 포인트를 확실하게 고유하게 식별하는 방법이 있습니까? 사람들은 MAC 주소가 그렇게 할 수있는 유일한 방법이라고 말했지만, 여기서 보았 듯이 반환 된 BSSID는 약간 다릅니다.

답변

2

귀하의 질문에 대한 답변을 제공하기 전에, 나는 BSSID, SSID 및 액세스 포인트에 대해 조금 설명하고 싶습니다.

액세스 포인트는 여러 개의 SSID를 알릴 수 있습니다. 따라서 고유하게 SSID를 발표하려면 별도의 BSSID가 사용됩니다.
여러 액세스 포인트에서 발표 한 SSID는 별도의 BSSID (각 액세스 포인트별로)에서 발표됩니다. 따라서 SSID를 알려주는 액세스 포인트의 수를 확인하려면 동일한 SSID에 대해 몇 개의 BSSID를 사용하고 있는지 파악할 수 있습니다.

듀얼 밴드 (즉, 2.4GHz 및 5GHz)의 액세스 포인트는 동일한 SSID에 2 개의 BSSID를 알립니다. 하나는 2.4GHz 대역 용이고 다른 하나는 5GHz 대역 용입니다.

예를 들어, 네트워크에 10 개의 이중 대역 액세스 포인트가 있고 각 SSID가 동일한 SSID를 발표하는 경우, 총 20 개의 BSSID가 동일한 SSID를 발표하게됩니다.
(10 개의 액세스 포인트는 한 곳에서 필요하지 않지만 일반적으로 3 ~ 4 명이 서로들을 수있는 방식으로 배치됩니다. 따라서 위의 예와 같이 한 곳에서 20 개의 BSSID를 찾을 수 없습니다) . 이제


은 약 고유 액세스 포인트를 식별, 귀하의 질문에 대답합니다.
BSSID는 액세스 포인트의 MAC 주소를 사용하여 생성되며 처음 8 자리는 액세스 포인트의 MAC과 같고 마지막 4 자리는 BSSID마다 고유합니다. BSSID를 보면 액세스 포인트를 고유하게 식별 할 수 있습니다.

+1

답장을 보내 주셔서 대단히 감사합니다. –

+0

수신 된 BSSID의 처음 8 자리 만 사용하여 액세스 포인트의 신원을 추측하는 것이 더 바람직합니까? 즉,이 처음 8 자리가 다른 네트워크에서 사용되지 않도록하고 싶습니다. 나는이 라우터의 일부 제조 업체가 자신의 MAC 주소 서명을 가지고 있다는 사실을 알고 있습니다. –

+0

대부분의 경우 그렇습니다. OEM 제품에서 mac은 전 세계적으로 고유 한 '조직 식별자'를 포함하며 OEM은 일반적으로 MAC 또는 BSSID가 중복되지 않도록합니다. 그러나 의무 사항은 아닙니다. 따라서 mac/bssid가 겹치는 경우 일 수 있습니다. –

2

예 BSSID는 고유하지만 동일한 SSID 을 알리는 단일 액세스 포인트 인 RFS에서 여러 개의 BSSID를 가질 수 있습니다. 따라서 다른 클라이언트 장치가 다른 BSSID를 표시 할 수 있습니다. 귀하의 경우에 happenning 될

+0

감사합니다. BSSID를 사용하여 공통 식별자를 얻을 수있는 방법이 있습니까? 또 다른 대답은 수신 된 BSSID의 처음 8자를 사용하는 것이 좋겠지 만 네트워크간에 충분한 고유성이 있는지 확실하지 않습니다. –