ฉันสงสัยว่าสิ่งนี้เป็นไปได้โดยไม่ต้องแหกคุกอย่างกว้างขวาง แต่เป็นไปได้หรือไม่ที่จะแก้ไขไฟล์โฮสต์ของ iPad (หรืออุปกรณ์ iOS)
ฉันสงสัยว่าสิ่งนี้เป็นไปได้โดยไม่ต้องแหกคุกอย่างกว้างขวาง แต่เป็นไปได้หรือไม่ที่จะแก้ไขไฟล์โฮสต์ของ iPad (หรืออุปกรณ์ iOS)
คำตอบ:
ไม่แอปสามารถแก้ไขไฟล์ภายในไดเร็กทอรีเอกสารภายในแซนด์บ็อกซ์ของตนเองเท่านั้น เพื่อความปลอดภัยและง่ายต่อการติดตั้ง / ถอนการติดตั้ง ดังนั้นคุณสามารถทำได้บนอุปกรณ์ที่เจลเบรคเท่านั้น
คำตอบก่อนหน้านี้ถูกต้อง แต่หากผลที่คุณต้องการคือการเปลี่ยนเส้นทางการรับส่งข้อมูล HTTP สำหรับโดเมนไปยัง IP อื่นมีวิธี
เนื่องจากในทางเทคนิคแล้วฉันไม่ได้ตอบคำถามของคุณฉันจึงถามและตอบคำถามที่นี่:
ไม่คุณไม่สามารถเปลี่ยนไฟล์โฮสต์ของ iPad (โดยไม่ต้องเจลเบรค) แต่สามารถแก้ปัญหาได้
นี่คือสถานการณ์ของฉัน:
192.168.2.1
ใช้งานเว็บแอปฉันกำลังจะทดสอบเว็บแอปที่ทำงานใน Mac ผ่าน iPad แต่ฉันไม่สามารถเข้าถึงได้โดยตรง
วิธีแก้ปัญหานี้ใช้ได้กับฉัน:
Port
(ส่วนใหญ่8888
) Enable transparent HTTP proxying
และสลับตอนนี้คุณสามารถเยี่ยมชมเว็บแอปใน iPad ได้แล้ว
แน่นอนคุณสามารถใช้เครื่องมือพร็อกซีอื่น ๆ เช่นSquidหรือVarnishใน Linux หรือfiddlerใน Wondows
NodeJs
โมดูล
วิธีที่ง่ายที่สุดคือเรียกใช้โปรแกรมจำลอง iPad โดยใช้ XCode จากนั้นเพิ่มรายการในไฟล์โฮสต์ (/ etc / hosts) บนระบบโฮสต์เพื่อชี้ไปที่ไซต์ทดสอบของคุณ
ฉันต้องการฟังก์ชั่นเดียวกันและการเจลเบรคก็ไม่จำเป็น ทางออกหนึ่งคือการโฮสต์เซิร์ฟเวอร์ DNS ด้วยตัวคุณเอง ( MaraDNS ) ของไปที่การตั้งค่า wifi ของคุณใน ipad / โทรศัพท์และเพิ่มเซิร์ฟเวอร์ DNS ที่คุณกำหนดเองที่นั่น
กระบวนการทั้งหมดใช้เวลาฉันเพียง 10 นาทีและได้ผล!
1) ดาวน์โหลด MaraDNS
2) เรียกใช้ mkSecretTxt.exe
ในฐานะผู้ดูแลระบบ
3) แก้ไขmararc
ไฟล์ของฉันคือ:
ipv4_bind_addresses = "put your public IP Here"
timestamp_type = 2
random_seed_file = "secret.txt"
csv2 = {}
csv2["Simple.Example.com."] = "example.configuration"
เพิ่มไฟล์ชื่อ " example.configuration
" ลงในโฟลเดอร์เดียวกันกับที่run_maradns.bat
อยู่
4) แก้ไขไฟล์ example.configuration ของคุณ:
Simple.Example.com. 10.10.13.13 ~
5) ปิดการใช้งานไฟร์วอลล์ทั้งหมด (ความสะดวก)
6) เรียกใช้ไฟล์ "run_maradns.bat
"
7) ไม่ควรมีข้อผิดพลาด
8) เพิ่มเซิร์ฟเวอร์ DNS ของคุณในรายการดังที่แสดงไว้ที่นี่: http://www.iphonehacks.com/2014/08/change-dns-iphone-ipad.html
9) ได้ผล!
ได้คุณสามารถแก้ไขไฟล์โฮสต์ของ iPad ได้ แต่คุณต้องเจลเบรค เมื่อคุณทำเสร็จแล้วให้ดาวน์โหลด Cydia (ตลาดแอป) และรับ iFile ไฟล์โฮสต์อยู่ภายใน "/ etc / hosts"
ฉันคิดว่าคุณสามารถทำได้โดยตั้งค่าพร็อกซีแบบโปร่งใสโดยใช้บางอย่างเช่นชาร์ลและกำหนดทิศทางการรับส่งข้อมูลใหม่
วิธีแก้ปัญหาที่ฉันใช้เพื่อวัตถุประสงค์ในการพัฒนา:
ฉันรู้ว่ามีการโพสต์สิ่งนี้มาระยะหนึ่งแล้ว แต่ด้วย iOS 7.1 มีการเปลี่ยนแปลงบางอย่าง
จนถึงตอนนี้หากคุณกำลังพัฒนาแอพคุณต้องมีใบรับรอง SSL ที่ถูกต้องที่ Apple รู้จักมิฉะนั้นคุณจะได้รับข้อความแสดงข้อผิดพลาดบน iDevice ของคุณ ไม่มีใบรับรองที่ลงนามด้วยตนเองอีกต่อไป ดูรายการที่นี่:
http://support.apple.com/kb/ht5012
นอกจากนี้หากคุณอยู่ที่นี่หมายความว่าคุณกำลังพยายามให้ iDevice แก้ไขชื่อ (ไปยังเซิร์ฟเวอร์ https ของคุณ) ในสภาพแวดล้อมการทดสอบหรือการพัฒนา
แทนที่จะใช้ Squid ซึ่งเป็นแอปพลิเคชั่นที่ยอดเยี่ยมคุณสามารถเรียกใช้เซิร์ฟเวอร์ DNS พื้นฐานเช่น dnsmasq มันจะใช้ไฟล์โฮสต์ของคุณเป็นบรรทัดแรกของการแก้ปัญหาชื่อดังนั้นโดยพื้นฐานแล้วคุณสามารถหลอก iDevice ของคุณได้ที่นั่นโดยบอกว่า www.blah.com คือ 192.168.10.10
ไฟล์คอนฟิกูเรชันนั้นเรียบง่ายเพียง 3 ถึง 4 บรรทัดและคุณยังสามารถกำหนดค่าเซิร์ฟเวอร์ DHCP ภายในได้หากต้องการ
นี่คือของฉัน:
ฟังที่อยู่ = 192.168.10.35
โดเมนที่จำเป็น
ปลอมเอกชน
ไม่มี -dhcp-interface = eth0
ท้องถิ่น = / localnet /
แน่นอนคุณต้องกำหนดค่าเครือข่ายบน iDevice ของคุณเพื่อใช้ DNS นั้น (ในกรณีของฉัน 192.168.10.35) หรือเพียงแค่เริ่มใช้ DHCP จากเซิร์ฟเวอร์นั้นหลังจากกำหนดค่าอย่างถูกต้อง
นอกจากนี้หาก dnsmasq ไม่สามารถแก้ไขชื่อภายในได้ก็จะใช้เซิร์ฟเวอร์ DNS ปกติของคุณ (เช่น 8.8.8.8) เพื่อแก้ไขให้คุณ เรียบง่ายสวยงามมากและแก้ปัญหาของฉันด้วยการติดตั้งแอพ iDevice ในบ้าน
ยังไงก็ตามแก้ปัญหาการแก้ชื่อหลาย ๆ อย่างกับ macs ทั่วไป (OS X) ด้วย
ตอนนี้ฉันพูดจาโผงผาง: แอปเปิ้ลเปื้อนเลือด การทำให้อุปกรณ์ปลอดภัยไม่ควรรวมถึงการแคสต์ระบบปฏิบัติการหรือนักพัฒนา
หากคุณมีอิสระในการเลือกชื่อโฮสต์คุณก็สามารถเพิ่มโฮสต์ของคุณไปยังบริการ dynanmic DNS เช่น dyndns.org จากนั้นคุณสามารถใช้กลไกการแก้ปัญหาปกติของ iPad เพื่อแก้ไขที่อยู่
คุณยังสามารถใช้ประโยชน์จากพร็อกซีเซิร์ฟเวอร์บน iPhone หรือ iPade ของคุณผ่านอินเทอร์เน็ตบนมือถือ (3G) โดยใช้ตัวสร้างพร็อกซี iPhone Mobile:
http://iphonesettings.net/mobileproxygenerator.php
เพียงป้อน apn ของผู้ให้บริการของคุณ (ด้วยชื่อผู้ใช้ / รหัสผ่าน apn หากจำเป็น) และพร็อกซีเซิร์ฟเวอร์ที่คุณต้องการดำเนินการแล้วแตะสร้าง
iphonesettings.net
?
คุณจำเป็นต้องเข้าถึง/private/etc/
ดังนั้นไม่ คุณทำไม่ได้
คำตอบที่ดีที่สุด: เพียงเพิ่ม http หรือ https ในเบราว์เซอร์ที่อยู่ IP โคลอนและหมายเลขพอร์ต ตัวอย่าง: https://123.23.145.67:80