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

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

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

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

इसके अलावा, MAC पते Wi-Fi Aware और Wi-Fi RTT की कार्रवाइयों के तहत, रैंडम तरीके से चुने जाते हैं.

ज़्यादा जानकारी के लिए, MAC पता बदलने की सुविधा का काम करने का तरीका देखें.

लागू करना

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

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

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

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

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

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

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

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

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

सत्यापन

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

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

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

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