एमएसी पता बदलने की सुविधा लागू करना

Android 8.0 और इसके बाद के वर्शन वाले Android डिवाइस, नेटवर्क से कनेक्ट न होने पर नए नेटवर्क की जांच करते समय, रैंडमाइज़ किए गए एमएसी पतों का इस्तेमाल करते हैं. Android 9 में, डेवलपर विकल्प को चालू किया जा सकता है. यह विकल्प डिफ़ॉल्ट रूप से बंद होता है. इसे चालू करने पर, डिवाइस किसी वाई-फ़ाई नेटवर्क से कनेक्ट होने पर, रैंडमाइज़ किए गए एमएसी (मैक) पते का इस्तेमाल करता है.

Android 10 में, क्लाइंट मोड, SoftAp, और Wi-Fi Direct के लिए, मैक पते को बदलने की सुविधा डिफ़ॉल्ट रूप से चालू होती है.

मैक पते को रैंडम बनाने की सुविधा, डिवाइस पर की गई गतिविधि का इतिहास बनाने के लिए, श्रोताओं को मैक पतों का इस्तेमाल करने से रोकती है. इससे उपयोगकर्ता की निजता बढ़ती है.

इसके अलावा, Wi-Fi Aware और Wi-Fi RTT की कार्रवाइयों के दौरान, एमएसी पते बदल दिए जाते हैं.

ज़्यादा जानकारी के लिए, MAC रैंडमाइज़ेशन का तरीका लेख पढ़ें.

लागू करना

अपने डिवाइस पर MAC पता बदलने की सुविधा लागू करने के लिए:

  1. यहां दिए गए HAL तरीकों को लागू करने के लिए, वाई-फ़ाई चिप वेंडर के साथ काम करें:

    • IWifiStaIface#setMacAddress: इससे इंटरफ़ेस का मैक पता कॉन्फ़िगर किया जाता है. डिफ़ॉल्ट तौर पर लागू करने पर, इंटरफ़ेस बंद हो जाता है, एमएसी पता बदल जाता है, और इंटरफ़ेस फिर से चालू हो जाता है.
    • IWifiStaIface#getFactoryMacAddress: ioctl कॉल का इस्तेमाल करके, wlan0 का फ़ैक्ट्री एमएसी पता पाता है.
    • ISupplicantP2pIface#setMacRandomization: यह विकल्प, सप्लीकेंट में P2P एमएसी पता बदलने की सुविधा को चालू/बंद करता है.
  2. सेटिंग config.xml में जाकर, config_wifi_connected_mac_randomization_supported को true पर सेट करें. ऐसा डिवाइस के कस्टम ओवरले में किया जा सकता है.

    • इस फ़्लैग का इस्तेमाल यह कंट्रोल करने के लिए किया जाता है कि क्लाइंट-मोड में मैक पते को बदलने की सुविधा चालू है या नहीं.
  3. सेटिंग config.xml में जाकर, config_wifi_p2p_mac_randomization_supported को true पर सेट करें. ऐसा डिवाइस के कस्टम ओवरले में किया जा सकता है.

    • इस फ़्लैग का इस्तेमाल यह कंट्रोल करने के लिए किया जाता है कि वाई-फ़ाई डायरेक्ट एमएसी रैंडमाइज़ेशन की सुविधा चालू है या नहीं.
  4. पुष्टि करना में बताए गए तरीकों का इस्तेमाल करके, लागू करने की प्रोसेस की जांच करें.

सिस्टम यूज़र इंटरफ़ेस (यूआई) ऐसा होना चाहिए:

  • हर एसएसआईडी के लिए, रैंडमाइज़ेशन की सुविधा को चालू या बंद करने का विकल्प होना चाहिए.
  • नए जोड़े गए सभी नेटवर्क के लिए, मैक पते को बिना किसी तय नियम के बदलने की सुविधा डिफ़ॉल्ट रूप से चालू हो.

नए प्रॉम्प्ट लागू करने के लिए, सेटिंग यूज़र इंटरफ़ेस (यूआई) के रेफ़रंस इंप्लिमेंटेशन का इस्तेमाल करें.

ऐसा हो सकता है कि Android 9 या इससे पहले के वर्शन वाले डिवाइसों में, वाई-फ़ाई मैक पते को रैंडम बनाने की सुविधा काम न करे. ऐसे डिवाइसों को Android 10 पर अपग्रेड करते समय, वाई-फ़ाई मैक पते को बिना किसी तय नियम के बदलने की सुविधा बंद की जा सकती है. इसके लिए, वाई-फ़ाई वेंडर HAL मेक फ़ाइल में WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION फ़्लैग को सही पर सेट करें.

Validation

यह पुष्टि करने के लिए कि सुविधा आपकी उम्मीद के मुताबिक काम कर रही है, मैन्युअल टेस्ट करें:

  1. पुष्टि करें कि डिवाइस पर मैक रैंडमाइज़ेशन की सुविधा चालू है. इसके लिए, डिवाइस ओवरले में जाकर देखें कि config_wifi_connected_mac_randomization_supported, true पर सेट है या नहीं.
  2. अपने डिवाइस को वाई-फ़ाई नेटवर्क से कनेक्ट करें.
  3. नेटवर्क की ज़्यादा जानकारी वाले पेज पर जाने के लिए, नेटवर्क पर टैप करें. पुष्टि करें कि मैक पते को रैंडम बनाने की सुविधा चालू हो. पुष्टि करें कि दिखाया गया मैक पता, बिना किसी तय नियम के चुना गया मैक पता है. इसमें स्थानीय तौर पर जनरेट किया गया बिट 1 पर सेट होता है और मल्टीकास्ट बिट 0 पर सेट होता है.
  4. एमएसी (मैक) पता बदलने की सुविधा बंद करें. उसी नेटवर्क से कनेक्ट करें और पुष्टि करें कि फ़ैक्ट्री एमएसी का इस्तेमाल किया जा रहा है.
  5. नेटवर्क की जानकारी मिटाने के लिए, नेटवर्क की ज़्यादा जानकारी वाले पेज पर भूल जाएं पर टैप करें.
  6. एक ही नेटवर्क से कनेक्ट करें और पुष्टि करें कि एक ही रैंडमाइज़ किया गया मैक पता इस्तेमाल किया जा रहा है.

Android 10 से पहले के वर्शन वाले ऐसे डिवाइस पर एमएसी पता बदलने की सुविधा की जांच करने के लिए जो Android 10 या इसके बाद के वर्शन में अपग्रेड किया जा रहा है और जिसमें एमएसी पता बदलने की सुविधा काम करती है:

  1. Android 9 या इससे पुराने वर्शन पर काम करने वाले डिवाइस पर, कम से कम एक नेटवर्क सेव किया गया हो.
  2. Android 10 की सिस्टम इमेज फ़्लैश करें.
  3. वाई-फ़ाई पिकर में जाकर, पुष्टि करें कि सेव किए गए सभी नेटवर्क के लिए, मैक पता बदलने की सुविधा बंद हो.
  4. एमएसी पता बदलने की सुविधा चालू करें. एक ही नेटवर्क से कनेक्ट करें और पुष्टि करें कि रैंडम तौर पर चुने गए एमएसी का इस्तेमाल किया जा रहा है.