บริการพร็อกซี่มือถือ

บริการพร็อกซี่มือถือ (Mobile Proxy Service) อาจฟังดูไม่ค่อยเข้าใจง่ายนัก เราจะอธิบายสั้นๆ ในหนึ่งประโยคคือ FIRERPA มีเซิร์ฟเวอร์พร็อกซี่ HTTP ในตัว ซึ่งคุณสามารถใช้พร็อกซี่เครือข่าย HTTP นี้เพื่อเข้าถึงเว็บไซต์อื่น ๆ ผ่านเครือข่ายของโทรศัพท์มือถือได้

ตัวอย่างเช่น บางครั้งคุณต้องการทำการทดสอบเครือข่ายภายใต้ IP เดียวกันกับอุปกรณ์เพื่อตรวจสอบปัญหา ฟังก์ชันพร็อกซี่ของ FIRERPA นี้ รองรับการใช้อุปกรณ์ที่รัน FIRERPA เป็นเซิร์ฟเวอร์พร็อกซี่ HTTP ซึ่งหมายความว่าคุณสามารถใช้อุปกรณ์มือถือนี้เป็นเซิร์ฟเวอร์พร็อกซี่เพื่อส่งทราฟฟิกการสื่อสารผ่านทางออกเครือข่ายของอุปกรณ์นี้ได้ หรือในขณะที่คุณกำลังดักจับแพ็กเก็ต (packet capturing) แต่ไม่ต้องการให้ทราฟฟิกออกจากคอมพิวเตอร์ของคุณโดยตรง คุณสามารถตั้งค่าบริการพร็อกซี่นี้เป็นพร็อกซี่ต้นน้ำ (upstream proxy) ของ mitmproxy ได้ ด้วยวิธีนี้ คุณจะสามารถดักจับแพ็กเก็ตได้ และทราฟฟิกการสื่อสารทั้งหมดจะยังคงถูกส่งผ่านอุปกรณ์เดิม หรือใช้เครือข่ายที่ไม่ได้ใช้งานของอุปกรณ์จำนวนมากเป็นบริการพร็อกซี่ IP เป็นต้น

การใช้งานพร็อกซี่

คุณสามารถไปที่การตั้งค่าของเบราว์เซอร์ Firefox -> กำหนดค่าพร็อกซี่ด้วยตนเอง (Manual proxy configuration) และตั้งค่า 192.168.0.2 พอร์ต 65000 เป็นพร็อกซี่ และติ๊กเลือก ใช้พร็อกซี่นี้สำหรับ HTTPS ด้วย (Also use this proxy for HTTPS) ด้วยวิธีนี้ Firefox ของคุณจะมี IP ขาออกเดียวกันกับอุปกรณ์

คุณยังสามารถใช้คำสั่ง curl ต่อไปนี้เพื่อทดลองใช้งานได้อย่างรวดเร็ว

curl -x http://192.168.0.2:65000 https://httpbin.org/ip

คุณยังสามารถใช้งานผ่าน Python requests ได้

requests.get("https://httpbin.org/ip", proxies={"http":"http://192.168.0.2:65000", "https": "http://192.168.0.2:65000"})

โดยค่าเริ่มต้น พร็อกซี่นี้ไม่ต้องการการรับรองความถูกต้องใด ๆ แต่เมื่อคุณเริ่มต้นด้วย --certificate (ใช้ใบรับรองบริการ) ชื่อผู้ใช้สำหรับเข้าสู่ระบบคือ lamda และรหัสผ่านจะเหมือนกับโทเค็นการเข้าสู่ระบบเดสก์ท็อประยะไกล (โปรดทราบว่าไม่ใช่รหัสผ่านที่กำหนดเองสำหรับเดสก์ท็อประยะไกล แต่เป็นรหัสผ่านในไฟล์ใบรับรองบริการ) คุณยังสามารถใช้ properties.local เพื่อกำหนดค่า tunnel2.password และตั้งรหัสผ่านนี้ด้วยตนเองได้

สำหรับกรณีที่ใช้ใบรับรองบริการข้างต้น ให้ใช้วิธีการต่อไปนี้

curl -x http://lamda:รหัสผ่านใบรับรอง@192.168.0.2:65000 https://httpbin.org/ip

ในทำนองเดียวกัน สำหรับ Python requests จะมีรูปแบบดังนี้

requests.get("https://httpbin.org/ip", proxies={"http":"http://lamda:รหัสผ่านใบรับรอง@192.168.0.2:65000", "https": "http://lamda:รหัสผ่านใบรับรอง@192.168.0.2:65000"})

การกำหนดค่าพร็อกซี่

คุณสามารถกำหนดค่าฟังก์ชันพร็อกซี่มือถือได้โดยการเขียนการกำหนดค่าต่อไปนี้ใน properties.local คุณสามารถตั้งค่าการตรวจสอบรหัสผ่าน หรือทำให้ส่งข้อมูลผ่านอินเทอร์เฟซ rmnet (เครือข่ายมือถือ 4G/5G) แทนที่จะเป็นอินเทอร์เฟซเครือข่ายขาออกเริ่มต้น

tunnel2.login=lamda
tunnel2.password=รหัสผ่านใหม่ของคุณ

การกำหนดค่าอินเทอร์เฟซขาออก iface ใช้เพื่อกำหนดค่าเครือข่ายขาออกของพร็อกซี่มือถือ มีค่าที่สามารถกำหนดได้สองค่าคือ wlan และ rmnet เมื่อค่า iface เป็น wlan ระบบจะตรวจจับอินเทอร์เฟซ wlan ที่ใช้งานได้โดยอัตโนมัติและเลือกหนึ่งในนั้นเพื่อส่งคำขอ และเมื่อ iface เป็น rmnet ระบบจะพยายามเปิดใช้งานข้อมูลมือถือ (4/5G แม้ว่า WIFI จะเปิดอยู่ก็ตาม) และพยายามส่งคำขอจากอินเทอร์เฟซเครือข่ายมือถือ เมื่อกำหนดค่าเป็น rmnet/wlan แต่อินเทอร์เฟซนั้นไม่มีเครือข่าย พร็อกซี่จะใช้งานไม่ได้ หากไม่ได้กำหนดค่ารายการนี้ ระบบจะใช้เครือข่ายเริ่มต้นในการส่งคำขอ

tunnel2.iface=rmnet