ตั้งค่าพร็อกซีด้วยโปรแกรมจำลอง Android

ในโปรแกรมจำลอง Android คุณสามารถใช้พร็อกซีเพื่อแก้ไขข้อบกพร่องของการรับส่งข้อมูลของแอปพลิเคชันหรือเพื่อ เข้าถึงอินเทอร์เน็ตจากด้านหลังไฟร์วอลล์ของบริษัท โปรแกรมจำลองมีกลไกพร็อกซีที่แตกต่างกัน 2 แบบเพื่อรองรับกรณีการใช้งานที่แตกต่างกันเหล่านี้ ได้แก่ พร็อกซีระบบ Android และพร็อกซีโปรแกรมจำลอง

การเลือกพร็อกซีที่เหมาะสม

ก่อนที่จะกำหนดค่าพร็อกซี คุณควรทำความเข้าใจกรณีการใช้งานทั้ง 2 กรณี พร็อกซีระบบ Android ใช้สำหรับตรวจสอบการรับส่งข้อมูลของแอปพลิเคชัน ส่วนพร็อกซีโปรแกรมจำลองใช้สำหรับไปยังการจำกัดเครือข่าย พร็อกซีทั้ง 2 รายการนี้ แยกจากกันโดยสิ้นเชิง คุณจะเปิดใช้ได้ครั้งละ 1 รายการเท่านั้น

ฟีเจอร์ พร็อกซีของระบบ Android พร็อกซีของโปรแกรมจำลอง
กรณีการใช้งานหลัก การแก้ไขข้อบกพร่องของแอป การข้ามไฟร์วอลล์
เลเยอร์การทำงาน เลเยอร์เครือข่าย เลเยอร์ของแอปพลิเคชัน
การกำหนดค่า UI การตั้งค่า Wi-Fi ของระบบ Android UI ของตัวควบคุมเพิ่มเติมของโปรแกรมจำลองหรือ
แฟล็ก -http-proxy
การแก้ไขข้อบกพร่องของ HTTPS ใช่ - อนุญาตให้เครื่องมืออย่าง Charles Proxy
สกัดกั้นการรับส่งข้อมูลเมื่อ
ติดตั้งใบรับรอง
ไม่ - สร้างอุโมงค์ TCP ซึ่งจะป้องกัน
การตรวจสอบ SSL
จัดการการเข้าชมที่ไม่ใช่ HTTP/HTTPS
ไม่ - จัดการเฉพาะการเข้าชมผ่าน HTTP และ
HTTPS เป็นหลัก
ใช่ - ส่งต่อการรับส่งข้อมูล TCP ทั้งหมด

กรณีการใช้งาน 1: การแก้ไขข้อบกพร่องของแอปพลิเคชันด้วยพร็อกซีของระบบ Android

หากต้องการแก้ไขข้อบกพร่องของการรับส่งข้อมูลในเครือข่ายของแอปพลิเคชัน เช่น การตรวจสอบคำขอ HTTPS ด้วยเครื่องมืออย่าง Charles Proxy คุณควรใช้พร็อกซีของระบบ Android

พร็อกซีนี้ทำงานที่เลเยอร์แอปพลิเคชันภายในระบบปฏิบัติการ Android ซึ่งช่วยให้เครื่องมือแก้ไขข้อบกพร่องสกัดกั้นและตรวจสอบการรับส่งข้อมูลได้ แต่ต้องติดตั้ง ใบรับรองความปลอดภัยที่จำเป็นในอุปกรณ์ที่จำลอง

ตั้งค่าพร็อกซีระบบ Android

การกำหนดค่า

คุณกำหนดค่าพร็อกซีของระบบ Android ได้ 2 วิธีดังนี้

  1. การกำหนดค่าด้วยตนเอง: ในโปรแกรมจำลอง ให้ไปที่การตั้งค่า > เครือข่ายและ อินเทอร์เน็ต > Wi-Fi เลือกเครือข่าย แล้วป้อนการตั้งค่าพร็อกซีด้วยตนเอง
  2. การกำหนดค่าอัตโนมัติ: คุณกำหนดค่าพร็อกซีระบบ Android โดยใช้โปรแกรมได้ โดยทำได้ด้วยการสร้างการทดสอบเครื่องมือที่ใช้เฟรมเวิร์กการทำงานอัตโนมัติของ UI เช่น UI Automator เพื่อเปิดแอปการตั้งค่า Android และใช้การกำหนดค่าพร็อกซีโดยไม่ต้องมีการแทรกแซงด้วยตนเอง

กรณีการใช้งานที่ 2: การข้ามไฟร์วอลล์ขององค์กรด้วยพร็อกซีของโปรแกรมจำลอง

ในเครือข่ายขององค์กรหลายแห่ง ผู้ดูแลเครือข่ายจะปฏิเสธการเชื่อมต่ออินเทอร์เน็ตโดยตรง และต้องผ่านพร็อกซีที่เฉพาะเจาะจงแทน หากต้องการเข้าถึงทรัพยากรภายนอกจากภายในเครือข่ายที่ถูกจำกัดดังกล่าว คุณควรใช้พร็อกซีของโปรแกรมจำลอง

กลไกนี้ทำงานในระดับเครือข่ายที่ต่ำกว่า และกำหนดเส้นทางการรับส่งข้อมูล TCP ของอุปกรณ์ที่จำลองทั้งหมดผ่านพร็อกซีที่ระบุ ซึ่งเหมาะอย่างยิ่งสำหรับการข้ามไฟร์วอลล์ โดยจะเขียนคำขอ HTTP จากอุปกรณ์เสมือนใหม่โดยอัตโนมัติ ก่อนส่งไปยังพร็อกซี เพื่อให้คำขอทำงานได้อย่างถูกต้อง

การกำหนดค่า

เมื่อใช้โปรแกรมจำลองภายใน Android Studio คุณจะกำหนดค่าพร็อกซีได้ ด้วยการตั้งค่าในเมนู Android Studio ( Settings > Appearance & Behavior > System Settings > HTTP Proxy) ดูรายละเอียดเพิ่มเติมได้ที่ ตั้งค่าพร็อกซี Android Studio ในเอกสารประกอบของ Android Studio

เมื่อใช้โปรแกรมจำลองแบบสแตนด์อโลน (นอก Android Studio) คุณจะ กำหนดค่าพร็อกซีของโปรแกรมจำลองได้โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้

  1. Flag บรรทัดคำสั่ง: เปิดโปรแกรมจำลองจากบรรทัดคำสั่งด้วย Flag -http-proxy <proxy> <proxy> สามารถระบุข้อมูลในรูปแบบ http://<machineName>:<port> หรือ http://<username>:<password>@<machineName>:<port> ได้

    emulator -http-proxy http://<machineName>:<port>
    

    หรือ

    emulator @MyAvd -http-proxy http://<username>:<password>@<machineName>:<port>
    
  2. ตัวแปรสภาพแวดล้อม: กำหนดhttp_proxyตัวแปรสภาพแวดล้อมด้วย การตั้งค่าพร็อกซี โปรแกรมจำลองจะตรวจสอบตัวแปรนี้เมื่อเริ่มต้นระบบ และ ใช้ค่าของตัวแปรโดยอัตโนมัติหากมีการกำหนดไว้

  3. การควบคุมเพิ่มเติม: เปิดการควบคุมเพิ่มเติมของโปรแกรมจำลอง ไปที่การตั้งค่า > พร็อกซี แล้วป้อนการกำหนดค่าพร็อกซี HTTP ด้วยตนเอง โปรแกรมจำลองจะบันทึกการตั้งค่าเหล่านี้สำหรับอุปกรณ์และกู้คืนเมื่อ รีสตาร์ท

    ตั้งค่าพร็อกซีของโปรแกรมจำลอง

พร็อกซีของโปรแกรมจำลองจะทำงานที่เลเยอร์เครือข่าย โดยจะส่งการรับส่งข้อมูล HTTPS ผ่าน TCP แต่จะส่งต่อการรับส่งข้อมูลนี้โดยไม่มีการถอดรหัส ซึ่งจะป้องกันการตรวจสอบ HTTPS พร็อกซีโปรแกรมจำลองไม่รองรับการเปลี่ยนเส้นทาง UDP

การโต้ตอบกับ Android Studio

Android Studio มีกล่องโต้ตอบการกำหนดค่าพร็อกซีของตัวเองสำหรับการดาวน์โหลดการอัปเดต และไลบรารี เมื่อเปิดโปรแกรมจำลองจาก Android Studio โปรแกรมจะอ่านการตั้งค่าพร็อกซีของ IDE 1 ครั้งเพื่อสร้างการกำหนดค่าพร็อกซีของโปรแกรมจำลอง อย่างไรก็ตาม การตั้งค่าเหล่านี้ไม่มีผลกับพร็อกซีของระบบ Android