Tôi có thể chỉnh sửa tệp máy chủ của iPad không?


87

Tôi nghi ngờ điều này có thể thực hiện được mà không cần bẻ khóa rộng rãi, nhưng liệu có thể chỉnh sửa tệp máy chủ của iPad (hoặc bất kỳ thiết bị iOS nào) không?


1
Không phải không có jailbreak. Sau khi được bẻ khóa, nó sẽ giống với bất kỳ hệ thống Unix / BSD nào khác. Tôi cho rằng, tôi chưa làm điều đó trước đây.
Jasarien

1
Hãy tưởng tượng nếu bất kỳ ứng dụng nào có thể thay đổi mối liên kết giữa tên máy chủ và các IP hợp pháp của chúng.
Jano

2
@jano Có lẽ vấn đề đó hiện đã tồn tại với các ứng dụng trên Mac App Store. Nó được xử lý bởi OSX yêu cầu mật khẩu trước khi bạn có thể chỉnh sửa tệp máy chủ và có lẽ cũng bằng quy trình kiểm tra ứng dụng của Apple.
Danyal Aytekin

3
@Jano: Microsoft Windows cho phép điều này ngay bây giờ và nó gây ra 0 vấn đề. Bạn chỉ cần có quyền Quản trị viên. Và có những lý do chính đáng để bạn muốn sửa đổi tệp máy chủ lưu trữ (tất cả đều liên quan đến việc truy cập nội dung mà không có máy chủ DNS hoặc các vấn đề khác đối phó với VPN).
Josh Mouch

Câu trả lời:


46

Không. Các ứng dụng chỉ có thể sửa đổi các tệp trong thư mục tài liệu, trong hộp cát của riêng chúng. Điều này là để bảo mật và dễ dàng cài đặt / gỡ cài đặt. Vì vậy, bạn chỉ có thể thực hiện việc này trên thiết bị đã jailbreak.


1
Chỉ trong hộp cát, nhưng không chỉ trong thư mục tài liệu (xem Hướng dẫn lập trình ứng dụng iOS> Thời gian chạy ứng dụng> Hệ thống tệp).
Jano


47

Không, bạn không thể thay đổi tệp máy chủ của iPad (không cần bẻ khóa), nhưng có thể giải quyết.

Đây là kịch bản của tôi:

  • Mac OS X, có IP 192.168.2.1, chạy ứng dụng web
  • iPad, thiết bị bạn muốn thử nghiệm ứng dụng web
  • Charles (dành cho Mac), bật proxy HTTP cho iPad của bạn

Tôi sẽ kiểm tra ứng dụng web chạy trong máy Mac của mình qua iPad, nhưng tôi không thể truy cập trực tiếp vào ứng dụng đó.

Giải pháp phù hợp với tôi:

  • Trước tiên, hãy đảm bảo rằng máy chủ và iPad của bạn nằm trong cùng một mạng cục bộ.
  • Sau đó, thiết lập proxy Charles, trong menu "Proxy> Proxy Settings ...", điền Port(chủ yếu 8888) và chuyển đổi Enable transparent HTTP proxying.

nhập mô tả hình ảnh ở đây


  • Thiết lập cài đặt proxy trong iPad.

nhập mô tả hình ảnh ở đây

Giờ đây, bạn có thể truy cập ứng dụng web của mình trong iPad.

Tất nhiên bạn có thể sử dụng các công cụ proxy khác như Squid hoặc Varnish trong Linux, hoặc fiddler trong Wondows.


1
Nó không trả lời câu hỏi ... nhưng đây là một giải pháp tuyệt vời, dễ thực hiện, có thể chuyển đổi dễ dàng cho các mục đích mà hầu hết mọi người muốn chỉnh sửa tệp máy chủ.
Matt Kenefick

Giải pháp tuyệt vời! Sạch sẽ và dễ thực hiện. Tôi sử dụng linux làm hệ điều hành cho máy trạm của mình, vì vậy tôi đã sử dụng tinyproxy và proxy hoạt động tốt với iPhone của tôi. Cảm ơn anh bạn!
Edenshaw

Nó không hoạt động trên phiên bản mới của iOS do các vấn đề an ninh có lẽ, nó có thể được dễ dàng hơn với một NodeJsmô-đun filternet
vanduc1102

1
"Bây giờ bạn có thể truy cập ứng dụng web của mình trong iPad" - nhưng bằng cách nào? Nếu ứng dụng của tôi chỉ hoạt động trên "myapp.dev.domain.com", thì Ipad sẽ giải quyết tên như thế nào. Đây là nơi chứa tệp máy chủ lưu trữ và tôi nghi ngờ điểm của câu hỏi
Greg Woods

@GregWoods tôi có một cấu hình tương tự và điều này làm việc cho tôi bằng cách truy cập 'myapp.env.domain.com' nhưng chỉ sau một cố gắng một vài lần
RenaissanceProgrammer

6

Cách dễ nhất để thực hiện việc này là chạy trình mô phỏng iPad bằng XCode và sau đó thêm mục nhập trong tệp máy chủ (/ etc / hosts) trên hệ thống máy chủ để trỏ đến trang web thử nghiệm của bạn.


6
Câu hỏi là về thiết bị không giả lập.
Janak Nirmal

5
@JanakNirmal Tuy nhiên, vẫn là một câu trả lời hữu ích.
Simon

6

Tôi cần chức năng tương tự và việc bẻ khóa là không. Một giải pháp là tự lưu trữ máy chủ DNS ( MaraDNS ), truy cập cài đặt wifi của bạn trong ipad / điện thoại và thêm máy chủ DNS tùy chỉnh của bạn vào đó.

Toàn bộ quá trình chỉ mất 10 phút cho tôi và nó hoạt động!

1) Tải xuống MaraDNS

2) Chạy mkSecretTxt.exevới tư cách quản trị viên

3) Sửa đổi mararctệp, của tôi là:

ipv4_bind_addresses = "put your public IP Here"
timestamp_type = 2
random_seed_file = "secret.txt"

csv2 = {}
csv2["Simple.Example.com."] = "example.configuration"

Thêm tệp có tên " example.configuration" vào cùng một thư mục ở đó run_maradns.bat.

4) Chỉnh sửa tệp example.configuration của bạn:

Simple.Example.com. 10.10.13.13 ~

5) Tắt tất cả Tường lửa (tiện lợi)

6) Chạy tệp " run_maradns.bat"

7) Không được có lỗi.

8) Thêm máy chủ DNS của bạn vào danh sách, như được hiển thị ở đây: http://www.iphonehacks.com/2014/08/change-dns-iphone-ipad.html

9) Hoạt động!


1
mỗi câu trả lời ở đây giả định mong muốn OP để sniff HTTP giao thông trong khi đây là câu trả lời duy thực tế mà tập trung vào giả mạo phân giải DNS (như sửa đổi hosts)
Filipe Pina

5

Có, bạn có thể chỉnh sửa tệp máy chủ của iPad, nhưng bạn cần phải được bẻ khóa. Khi bạn đã hoàn thành việc đó, hãy tải xuống Cydia (chợ ứng dụng) và tải iFile. Tệp máy chủ nằm trong "/ etc / hosts".


4

Tôi sẽ tưởng tượng bạn có thể làm điều đó bằng cách thiết lập một proxy minh bạch, sử dụng một cái gì đó như charles và định hướng lại lưu lượng truy cập theo cách đó


3

Workarond tôi sử dụng cho mục đích phát triển:

  1. Tạo máy chủ proxy của riêng bạn (Một tùy chọn sẽ là: Squid trên Linux).
  2. Đặt tệp máy chủ lưu trữ của bạn với các miền của bạn.
  3. Đặt máy chủ proxy trên IPAD / IPHONE và bạn có thể sử dụng với máy chủ của mình.

Giải pháp đơn giản tốt đẹp!
Adam Freeman

3

Tôi biết điều này đã được đăng một thời gian, nhưng với iOS 7.1, một vài thứ đã thay đổi.

Cho đến nay, nếu bạn đang phát triển một Ứng dụng, bạn PHẢI có chứng chỉ SSL hợp lệ được Apple công nhận, nếu không bạn sẽ nhận được thông báo lỗi trên iDevice. Không còn chứng chỉ tự ký. Xem danh sách ở đây:

http://support.apple.com/kb/ht5012

Ngoài ra, nếu bạn đang ở đây, điều đó có nghĩa là bạn đang cố gắng làm cho iDevice phân giải một tên (cho máy chủ https của bạn), trên môi trường thử nghiệm hoặc phát triển.

Thay vì sử dụng ink, một ứng dụng tuyệt vời, bạn có thể chỉ cần chạy một máy chủ DNS rất cơ bản như dnsmasq. Nó sẽ sử dụng tệp hosts của bạn làm dòng phân giải tên đầu tiên, vì vậy, về cơ bản bạn có thể đánh lừa iDevice của mình ở đó, nói rằng www.blah.com là 192.168.10.10.

Tệp cấu hình chỉ đơn giản từ 3 đến 4 dòng và bạn thậm chí có thể định cấu hình máy chủ DHCP nội bộ của nó nếu bạn muốn.

Đây là của tôi:

nghe-địa chỉ = 192.168.10.35

miền cần thiết

bogus-priv

no-dhcp-interface = eth0

local = / localnet /

Tất nhiên, bạn phải định cấu hình mạng trên iDevice của mình để sử dụng DNS đó (trong trường hợp của tôi là 192.168.10.35) hoặc chỉ bắt đầu sử dụng DHCP từ máy chủ đó sau khi được định cấu hình đúng cách.

Ngoài ra, nếu dnsmasq không thể phân giải tên nội bộ, nó sẽ sử dụng máy chủ DNS thông thường của bạn (như 8.8.8.8) để giải quyết nó cho bạn. RẤT đơn giản, thanh lịch và đã giải quyết được các vấn đề của tôi với việc cài đặt Ứng dụng iDevice trong nhà.

Nhân tiện, cũng giải quyết nhiều vấn đề về phân giải tên với mac thông thường (OS X).

Bây giờ, câu nói của tôi: Apple đẫm máu. Làm cho một thiết bị an toàn không nên bao gồm việc thiến hệ điều hành hoặc các nhà phát triển.


Cảm ơn Carlos. Khó khăn là chúng tôi sử dụng sản phẩm vpn di động của Pulse Secure để truy cập các máy chủ thử nghiệm. Những thứ này không có sẵn bên ngoài. Vì vậy, nếu chúng ta muốn kiểm tra chứng chỉ PROD mới thì chúng ta cần iPad chuyển đến máy chủ kiểm tra (nơi chứng chỉ PROD được cài đặt); nhưng để sử dụng URL www.prod ...... com. cho đến nay, không tìm thấy giải pháp nào cho tình huống này. : 0 (
Codelapper: 13/07/17

2

Nếu bạn có quyền tự do chọn tên máy chủ, thì bạn chỉ cần thêm máy chủ của mình vào dịch vụ DNS dynanmic, như dyndns.org. Sau đó, bạn có thể dựa vào các cơ chế phân giải thông thường của iPad để giải quyết địa chỉ.


2

Bạn cũng có thể sử dụng máy chủ proxy trên iPhone hoặc iPade của mình thông qua Internet di động (3G) bằng cách sử dụng trình tạo proxy trên iPhone Mobile:

http://iphonesettings.net/mobileproxygenerator.php

Chỉ cần nhập apn của nhà cung cấp dịch vụ của bạn (với tên người dùng / mật khẩu apn nếu cần) và máy chủ proxy bạn muốn truy cập và nhấn Tạo


2
CHĂM SÓC NGƯỜI ĐỌC : trang web trong câu trả lời này được liệt kê là phần mềm độc hại bởi nhiều giải pháp tường lửa internet của công ty. Bằng cách gửi tất cả lưu lượng truy cập của bạn thông qua một máy chủ proxy không đáng tin cậy, bạn tiết lộ tất cả thông tin được truyền. Bạn có thực sự tin tưởng iphonesettings.net?
ErikE

-2

Bạn cần truy cập vào /private/etc/như vậy, không. bạn không thể.


@OmG, Câu hỏi là "hoàn toàn có thể" và nhận xét của anh ấy / cô ấy trên thực tế trả lời chính xác câu hỏi. Ngừng sao chép / dán bình luận để nâng cao danh tiếng của chính bạn.
Daniel Smith

-6

Câu trả lời hay nhất: Chỉ cần thêm http hoặc https trong trình duyệt của bạn, địa chỉ IP, dấu hai chấm và số cổng. Ví dụ: https://123.23.145.67:80

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.