안드로이드 폰에서 DNS 캐시를 지우려면 어떻게해야합니까? (Droid3, 진저 브레드, 구체적으로 뿌리 내림)
이상적으로는 터미널 에뮬레이터를 통해 실행되는 명령을 찾고 있습니다.
ipconfig /flushdns
Windows 컴퓨터에서.
이것의 리눅스 버전은 무엇입니까?
안드로이드 폰에서 DNS 캐시를 지우려면 어떻게해야합니까? (Droid3, 진저 브레드, 구체적으로 뿌리 내림)
이상적으로는 터미널 에뮬레이터를 통해 실행되는 명령을 찾고 있습니다.
ipconfig /flushdns
Windows 컴퓨터에서.
이것의 리눅스 버전은 무엇입니까?
답변:
일반적인 Linux 시스템에서는 캐시를 실행하여 캐시를 지우지 /etc/init.d/nscd restart
만 적어도 내 ROM은 nscd를 사용하여 DNS를 캐시하지 않습니다. 당신이 할 수 있는지 확인할 수는 있지만 의심합니다. Brower 캐시를 지우면 DNS 캐시도 지워진다는 제안을 보았지만 확실한 재부팅 (종료, 30 초 동안 배터리 제거, 배터리 다시 연결 및 부팅)을 수행하는 것이 확실한 방법입니다.
주소는 기본적으로 600 초 (10 분) 동안 캐시됩니다. 실패한 조회는 10 초 동안 캐시됩니다. 내가 본 모든 것에서 캐시를 플러시하기 위해 내장 된 것이 없습니다. 이것은 DNS 캐시를 저장하는 방식 때문에 Android에서 버그 로 보고 된 것 같습니다 . 브라우저 캐시를 지우면 DNS에 닿지 않으며 "하드 리셋"은 단순히 시간 초과되기 때문에 지워집니다.
DNS 캐시를 지워야하는 근본적인 이유를 물을 수 있습니까? 우리가 더 큰 그림을 보지 않기 때문에 놓친 또 다른 솔루션이있을 수 있습니다.
networkaddress.cache.ttl
와 networkaddress.cache.negative.ttl
에 build.prop
.
Android에서이를 수행하는 유일한 방법은 하드 재부팅을 수행하는 것입니다. 필요한 명령 줄 도구는 일반적으로 사용할 수 없지만 테스트에서 하드 재부팅은 항상 나를 위해 트릭을 수행했습니다 (Galaxy Nexus 및 HTC Desire, 다양한 ROM).
이것은 고통 스럽지만 10 분 캐시 시간 초과보다 빠릅니다.
Internet Booster 와 같은 앱도 있습니다 (다른 무엇보다도) "DNS 캐시 지우기"를 약속합니다. 나는 그것을 직접 시도하지 않았으며, 또한 그저 할 수있는 방법이없는 것 같습니다 ( "개선을 적용하는"단 하나의 "최적화"버튼). 또한 그 효과는 장치마다 다를 수 있지만 (앱 설명과 같음) 재부팅보다 낫습니다. Btw : 루트를 요구 사항으로 언급하지는 않지만 여전히 필요할 수 있습니다.
Google Play에 몇 가지 "유사한 앱"이 나열되어 있지만 대부분 Airpush 광고를 포함하거나 과도한 권한을 원한다는 점을 명심하십시오.
MadPC 에서 찾은 또 다른 가능한 솔루션 (직접 테스트하지 않음)은 진술하기 전에 user8522의 답변을 인용 한 것처럼 보입니다 .
마지막 옵션이지만 업데이트를 기다리지 않는 한 사용자에게 가장 집중적입니다. 사용자가 설정-> 응용 프로그램-> 네트워크 위치-> 데이터 지우기로 이동하도록합니다.
또 다른 짧은 하우투 는 DNS를 플러시하는 다른 쉬운 방법을 언급합니다 (다시 테스트하지는 않았습니다). 비행기 모드로 전환하십시오 (네트워크가 아닙니까?). 어리석게 들릴지 모르지만 비행기 모드로 들어갈 때 Android가와 비슷한 것을 수행한다고 생각할 수 /etc/init.d/networking stop
있습니다. 부작용은 DNS 플러시입니다.
dtumaykin 은 아래의 의견에서 매우 쉬운 솔루션을 제공했습니다 . 비행기 모드로 전환하고 다시 전환하면 이미 가능할 수 있습니다 (물론 네트워크의 부작용으로 몇 초 동안 다운 될 수 있습니다). 일부 장치에서는 추가 설치가 필요 없으며 n00bs에서도 쉽게 수행 할 수 있습니다.
아무도 그 해결책 중 하나를 시도했다면 확인 (또는 반대)은 반드시 환영합니다 :)
ndc resolver flushdefaultif
과 ndc resolver flushif wlan0
; 그들은 루트가 필요합니다. NetworkManagementService.flushDefaultDnsCache () 메소드 도 있습니다. JB 이전에는 CHANGE_NETWORK_STATE가 필요했지만 CONNECTIVITY_INTERNAL에 잠겨있었습니다. 따라서 루트없이 DNS 캐시를 정리하는 해킹 방법이 있었지만 (build.prop 조정 후 Java 레벨 캐시를 종료) JB에서는 작동하지 않습니다.
필자의 경우 도메인 이름을 하나만 비 웠습니다. 비행기 모드 전환, 하드 재부팅 수행 또는 chrome : // net-internals / # dns의 작업과 같은 제안이 작동하지 않았습니다. 대신 8.8.8.8에서 Google 이름 서버를 사용하도록 WiFi 설정을 일시적으로 변경했습니다.
내가 취한 단계는 다음과 같습니다.
이 단계 후에 ping
콘솔에서 도메인 이름을 사용하면 올바른 IP 주소로 확인되어 이전 캐시 된 주소를 덮어 쓰는 것처럼 보였습니다. 브라우저에서 도메인을 방문하는 것으로 아마 같은 효과가 있습니다.
WiFi로 돌아가서 "IP 설정"을 "DHCP"로 다시 설정하면 올바른 도메인이 현재 IP 주소로 계속 확인됩니다.
Android 5.1.1을 실행하는 Sony Xperia Z3에 있습니다.