안드로이드 단말기가 nslookup을 할 수 없습니까?


14

LG Ally의 도메인에 텔넷을 시도 할 때마다 실패하지만 IP 주소를 사용하면 작동합니다. 그래서 나는 사용하려고 시도 nslookup telehack.com하고 그것을 반환합니다 :

Server:       0.0.0.0
Address 1:    0.0.0.0

nslookup: can't resolve 'telehack.com'

나는이 안드로이드 터미널 에뮬레이터비지 박스가 설치

기본 dns로 작동하지 않았으므로 이제 dns 항목을 OpenDNS로 설정 했지만 여전히 해결되지 않습니다.

이 문제를 해결하기 위해 내가 할 수있는 일이 있습니까, 아니면 Ally에 대한 제한입니까?


해당 도메인 또는 해당 도메인에서 NSlookup을 수행하는 데 아무런 문제가 없습니다.
Ryan Conrad

네트워크 설정은 어떻습니까? 포트가 차단되었거나 전달 되었습니까?
Matthew 읽기

같은 문제가 있습니다.
Max Ried

답변:


4

정적으로 링크 된 libresolv 및 glibc를 사용할 때 알려진 디자인 문제입니다.

두 가지 옵션이 있습니다.

  1. glibc 대신 Google Android의 기본 libc Bionic 라이브러리를 사용하십시오.

  2. busybox를 빌드하여 라이브러리를 검색하십시오 /system/lib(또는 필요한 링크를 만드십시오 /usr/lib -> /system/lib). 에 ld-linux.so.3, libc.so.6, libresolv.so.2, libnss_dns.so.2를 배치하십시오 /system/lib.


내가 깁슨을 죽 이길 바래? 뭐?
JKirchartz

1

터미널 에뮬레이터 환경에 DNS가 올바르게 설정되어 getprop net.dns1있는지 확인하고 필요한 경우로 설정하십시오 setprop net.dns1 [yourdns]. 장치에 따라 명령이 다를 수 있으며, 일부 사용 net.eth0.dns1또는 은 매개 변수없이 net.gprs.dns1실행 getprop하여 힌트에 대해 설정된 모든 속성을 볼 수 있습니다.


dns가 설정되면 기본값에서 openDNS로 변경했는데 여전히 작동하지 않습니다 ...
JKirchartz

않는 nslookup지금 올바른 서버 주소를 제공하거나 아직도 보여주는가 0.0.0.0?
onik

여전히 0.0.0.0 표시
JKirchartz

DHCP 서버가 IPv4 주소를 전달한다는 사실에도 불구하고 getprop가 존재하고 DNS 서버의 IPv6 주소를 반환합니다. 그러나 setprop가 존재하지 않습니다.
Michael

1

터미널을 입력 한 다음 'su'를 입력하고 Enter를 누르십시오 (루팅 된 전화가있는 경우에만 작동합니다)

$ su
#

다음을 입력하십시오 (dns 서버 ip로 xxxx를 대체하십시오)

# echo 'nameserver x.x.x.x' > /system/etc/resolv.conf
# echo 'nameserver x.x.x.x' >> /system/etc/resolv.conf
# exit

이제 제대로 작동하는지 테스트하십시오.

$ nslookup google.com

이제 해결해야합니다.


그것은 가능성이 있음을 유의 resolv.conf시스템에 의해 모든 연결 변화에 덮어 쓰게됩니다.
흐름

실제로, 나는이 안드로이드 장치에서 이런 일이 결코 일어나지 않았습니다 ... 단지 변경되지 않습니다 (내 개인 DNS 서버 (로컬)가 resolv.conf에 하드 코딩되어 있기 때문에 이것을 알고 있으며 실제로 수동으로 설정해야합니다 다른 네트워크 (고급 대화 상자 사용)
Mikah

1

터미널 IDE에 대한 Google 코드 페이지의 문제에 게시 한 의견에서 답변을 복사하고 약간 변경했습니다. 그러나 동일해야합니다.

루팅 된 경우 최신 버전의 busybox를 설치할 수 있습니다 (컴파일 가능). 그런 다음 busybox is를 업데이트 한 위치를 찾아 다음 명령을 실행하십시오 (새 버전이 /system/bin있고 이전 버전이 있다고 가정합니다 ~/system/bin)

PATH=/system/bin:$PATH
cd ~/system/bin
mv busybox busybox.old
ln -s /system/bin/busybox busybox

이제 도메인이 올바르게 해결됩니다.

, 당신은 루트가 사용할 수 있도록해야 방식 비지 박스의 작동으로 인해 : 참고 사항 ping(같은 것들이 있지만, wget그리고 nslookup이제 제대로 해결 호스트에 할 수 있어야한다). busybox 개발자들이이 문제를 해결하고 있습니다.

https://play.google.com/store/apps/details?id=stericson.busybox : 나는 개인적 으로이 응용 프로그램을 사용하여 최신 버전을 설치


0

어떤 네트워크를 사용하고 있습니까? Wi-Fi 인 경우 네트워크의 다른 컴퓨터가 Wi-Fi에 연결할 수 있습니까? 이동 통신사 데이터 요금제 인 경우 차단되고 있습니까?

업데이트 : 0.0.0.0은 호스트 파일 블록처럼 보입니다. 광고 차단제가 있습니까? 애드 블록 플러스? 호스트 파일 수정?

USB 네트워킹을 시도하십시오-여기에 요청하는 의견을 게시하면 질문을 업데이트하고 튜토리얼을 작성합니다 (관련되어 있으며 GNU / Linux 시스템에서 수행하는 방법 만 알고 있습니다)


3g (verizon) 또는 WiFi에서는 작동하지 않으며 동일한 0.0.0.0으로 해결할 수 없습니다.
JKirchartz

0.0.0.0은 호스트 파일 블록처럼 보입니다. 광고 차단제가 있습니까? (답변 업데이트)
Broam

나는 하나를 가지고 있었지만 실제로 작동하지 않았다 ... /system/etc/hosts많은 스팸성 URL을 지적했다127.0.0.1
JKirchartz

0

나는 이것을 adb의 안드로이드에서 사용합니다. 더 좋은 방법이있을 수 있습니다.

ip=$(ping -c 1 -W 1 example.com|grep PING|cut -d "(" -f 2|cut -d ")" -f 1)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.