İPhone'da hosts dosyası var mı? Nasıl değiştirilir? [kapalı]


105

Sunucuyu sorgulayan bir uygulama geliştiriyorum. Mac'imde, dns'yi yerel alan ağımdaki yerel bir sunucuyu işaret edecek şekilde değiştirmek için hosts dosyasını kullanıyorum.

Şimdi iPhone'umla test etmem gerekiyor, sorun şu ki iPhone'um, dns için eksik yapılandırma nedeniyle bu sunucuyu tanımıyor.

Mac veya Windows'umda, sadece şunu eklerim: 192.168.0.20 http://www.google.comhosts dosyasına.

Şimdi nasıl benim iPhone URL'sini bildirin yapmak: http://www.google.com?


İPhone'unuzu jailbreak yapın, iFile'ı indirin, metin görüntüleyicide /etc/çağrılan dosyaya gidin ve açın hosts. Şimdi onu düzenleyebilirsiniz.

İPhone'da OSX ve Charles Web Proxy deployfx.com/2011/08/…
jfroom

1
OSX iOS Simulator ve / etc / hosts dosyanızı güncelleyin.
dmarvasti

Alternatif olarak: Bonjour'u kurun (sudo apt-get install avahi-daemon avahi-utils) ve iphone /
ipad'de

Benim için işe yarayan bunun gibi bir cevap görmemek beni şaşırttı: stackoverflow.com/a/41857012/470749
Ryan

Yanıtlar:


37

Bu doğrudan sorunuzu yanıtlamaz, ancak sorununuzu çözer ...

Ne marka yönlendiriciniz var? Yönlendiricinizin sabit yazılımı, yerel ağınız için DNS kayıtları ayarlamanıza izin verebilir. Tomato aygıt yazılımı ile yaptığım şey bu


teşekkürler, sorunu çözmek için yaptığım buydu;)
Hoang Pham

Ben de bu yaklaşımı kullandım, ancak pfsense kullanıyorum.
kod olarak

nasıl çalışacak, bende de aynı sorun var, cisco wrt yönlendiricisindeyim
Amitg2k12

82

Buradaki diğer bir seçenek, iPhone'unuzun bir proxy aracılığıyla bağlanmasını sağlamaktır. İşte Fiddler ile nasıl yapılacağına dair bir örnek (çok kolay):

http://conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html

Bu durumda, iPhone'unuzun yaptığı herhangi bir dns araması, Fiddler'ın üzerinde çalıştığı makinenin ana bilgisayar dosyasını kullanacaktır. Bununla birlikte, DNS aracılığıyla çözülecek bir ad kullanmanız gerektiğini unutmayın . example.localörneğin çalışmayacaktır. example.xyzveya example.devolacak.


3
Bu en basit çözümdür. Bunu düşünmeliydim !!
jimplode

1
Harika. Bu benim için bir zevkti!
Sniffer

1
Aynı şey osx'te
antonj

2
İPhone'da OSX ve Charles Web Proxy deployfx.com/2011/08/…
jfroom

1
Sadece DNS aramalarında - Bu herhangi bir mobil uygulama geliştirme için cephanelik sahip büyük bir araçtır
JoshuaDavid

32

Programlamayla ilgili değil, ama yine de cevaplayacağım. Girdi /etc/hosts.

Bunu gibi basit bir metin düzenleyicisi ile değiştirebilirsiniz nano.

(Açıkçası bunun için jailbreak'li bir iphone'a ihtiyacınız olacak)


3
Nano'yu doğrudan / etc / hosts'a ulaşmak için vanilya iPhone'da kullanamazsınız. Dağıtılacak bir uygulama hakkında olduğunu varsayıyorum, bu durumda korumalı alanınızın dışındaki dosyalarla uğraşamazsınız.
Jaanus

@Jaanus: Elbette jailbreak'li bir iphone ile demek istedim. Ve yeniden dağıtılan bir uygulama hakkında hiçbir şey söylemedi; dns sorunu olan iphone'unda test etmesi gerektiğini söyledi.
Thomas Bonini

16
Olumsuz oyları anlamıyorum. Cevap teknik olarak doğru ve iyi yazılmış.
Thomas Bonini

2
Düzenleme için biraz karmayı geri yükleyeceğim; Olumsuz oylar örtük 'dağıtılmış uygulama' nedeniyle kullanılmışsa , onları anlayabilsem de, olumsuz oy kullananların bunu açıklamak için bir yorum bırakması gerektiğini düşünüyorum.
David, Monica

2
Uygulamasını test edebilmesi için yalnızca hosts dosyasını değiştirmesi gerektiğini düşünüyorum. Test edildikten sonra, ana bilgisayar dosyasının değiştirilmesine gerek olmamalıdır. Burada jailbreak yapmayı tavsiye etmek kesinlikle kabul edilebilir!
Mongus Pong

14

İPhone'umun 'hosts' dosyasını başarıyla düzenledim (Jailbroken iOS 4.0'da).

  • Yüklü OpenSSH Cydia üzerinden iPhone üzerine
  • Bilgisayarımda FileZilla gibi bir SFTP istemcisi kullanarak iPhone'uma bağlandım
    • Adres: [telefonunuzun IP adresini veya ana bilgisayar adını kullanın, ör. simophone.local]
    • Kullanıcı adı: root
    • Parola: alpine
  • bulunan /etc/hostsdosyayı
  • Bilgisayarımda bir yedekleme yaptım (değişikliklerimi daha sonra geri almak istersem diye)
  • Hosts dosyasını iyi bir metin düzenleyicide ( Notepad ++ gibi) düzenledi . Hosts dosyasının açıklaması için buraya bakın .
  • İPhone'daki ana bilgisayar dosyasının üzerine yazarak değişiklikleri yükledim

Telefon bazı web sayfalarını ve DNS sorgularını önbelleğe alır, bu nedenle önbelleği yeniden başlatmak veya temizlemek yardımcı olabilir. Umarım bu birine yardımcı olur.

Simon.


1
@Simon Ben de aynı adımları takip ettim ama işe yaramadı. Sonra kodlama ayarlarını değiştirmeye çalıştım ve anladım! Kaydetmeden önce ana bilgisayar dosyanızı Notepad ++ ile ANSI'ye dönüştürmelisiniz. Ana bilgisayar dosyasını çalıştıramayanlar için; "tıklayın ANSI Dönüştür " altındaki " Kodlama " menüsünde.
trkaplan

2
Bir bilgisayar kullanmanıza gerek kalmadan cihazınızdaki ana bilgisayar dosyasını düzenlemek için Cydia'nın iFile uygulamasını da kullanabilirsiniz. Ad @ m
kirb

2
.. Ve varsayılan şifreyi alpinden başka bir şeye değiştirin!
Tieme

7

Var olabilir, ancak jailbreak yapılmamış bir iPhone'da değiştiremezsiniz.

Geliştirme web sunucunuzun bir Mac'te olduğunu varsayarsak, neden MyMac.local.bunun yerine Bonjour adını (örneğin ) kullanmıyorsunuz myrealwebserverontheinternet.com?


tüm web hizmetleri, LAN ağımdaki bir sunucuda mevcuttur. Bir alan adım var ve alan adımı da bu sunucuya eşlemek istiyorum. ve birisinin size tüm web hizmetleri için bir adres verdiğini hayal edin, sizden bu adresi kullanarak bu hizmetleri sorgulamanızı istiyor, size ana bilgisayar dosyasını mac, Windows'a nasıl ekleyeceğinizi gösterebilir, ancak
iphone'a

6

Bu sayfaya başka birinin düşmesi durumunda, bunu alan adı yerine URL isteğindeki Ip adresini kullanarak da çözebilirsiniz:

NSURL *myURL = [NSURL URLWithString:@"http://10.0.0.2/mypage.php"];

Ardından Ana Bilgisayarı manuel olarak belirtirsiniz:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:myURL];
[request setAllHTTPHeaderFields:[NSDictionary dictionaryWithObjectAndKeys:@"myserver",@"Host"]];

Sunucu söz konusu olduğunda, http://myserver/mypage.phpiPhone'un DNS araması yapmak zorunda kalmaması dışında, kullanmışsınız gibi tam olarak aynı şekilde davranacaktır .

% 100 Genel API.


2
Bununla birlikte, bu sadece ilk istek için çalışacaktır, eğer mypage.php sunucuma başka bir istekte bulunursa, o zaman uygulama dönüşümü yapmayacaktır.
htafoya

Çerez kullanmayı düşünmüyorsanız, bu yaklaşım iyidir.
DUzun

Hayır. Bu da işe yaramadı. SSL Pinning kullanıyoruz, bu yüzden etki alanı uyuşmazlığı sorunu alt üst etti: '017-07-13 10: 21: 42.244723-0400 ApperName [1015: 449748] libMobileGestalt MobileGestaltSupport.m: 153: pid 1015 (ApperName) için korumalı alan erişimi yok frZultyeyWLUvLjeuEK43hmg ve uygun şekilde adlandırılmış DEĞİLDİR 2017-07-13 10: 21: 42.244886-0400 UnionBank [1015: 449748] libMobileGestalt MobileGestalt.c: 550: InverseDeviceID'ye erişim yok (bkz. <rdar: // problem / 11744455>) '
codlapper

5

Telefondaki DNS'yi değiştirmeyin. Bunun yerine, yerel ağa wifi ile bağlanın ve artık hazırsınız.

Ofisimde, internete açık olmayan dahili DNS'ye sahip dahili sunucularımız var. Sadece iPhone ile ofis wifi ağına bağlanıyorum ve daha sonra onlara kolayca erişebiliyorum.

YMMV, ancak telefonun DNS'ini yapılandırmak yerine, bana sadece yerel dahili DNS ve wifi kurmanın daha temiz ve daha kolay bir çözüm olduğunu hissediyorum.


1

Hayır, bir iPhone uygulaması yalnızca kendi küçük sanal alanı içindeki şeyleri değiştirebilir. (Ve hatta anında değiştiremeyeceğiniz şeyler var.)

En iyi bahsiniz muhtemelen ana bilgisayar adı yerine sunucunun IP adresini kullanmaktır. Biraz daha zor, ancak tek bir adresi çözmeniz gerekiyorsa o kadar da zor değil , Mac'inize bir DNS sunucusu koymak ve iPhone'unuzu bunu kullanacak şekilde yapılandırmak olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.