도메인의 모든 DNS 레코드를 나열할 수 있는 방법이 있나요?
dig 및 nslookup과 같은 것을 알고 있지만 여기까지만 가능합니다. 예를 들어 하위 도메인 A 레코드가 다음과 같다면
test A somedomain.co.uk
로 하위 도메인의 레코드가 있다면, 예를 들어 내가 특별히 요청하지 않는 한
dig any test.somedomain.co.uk
볼 수 없습니다.
DNS 관리자로 이동하여 레코드를 보는 것 외에 모든 DNS 레코드가 정확히 무엇인지 확인할 수 있는 방법이 있나요?
ANY를 쿼리하면 해당 레벨의 모든 레코드 목록이 표시되지만 그 아래는 표시되지 않습니다.
# try this
dig google.com any
도메인 이름이 정확히 "google.com"인 경우 A 레코드, TXT 레코드, NS 레코드, MX 레코드 등을 반환할 수 있습니다. 그러나 하위 레코드(예: www.google.com)는 반환하지 않습니다. 더 정확하게는 이러한 레코드가 존재하는 경우 가져올 수 있습니다. 네임 서버는 이러한 레코드를 반환하지 않기로 선택한 경우(예: 응답 크기를 줄이기 위해) 이러한 레코드를 반환할 필요가 없습니다.
AXFR은 영역 이전이며 사용자가 원하는 것일 가능성이 높습니다. 그러나 이는 일반적으로 제한적이며 영역을 제어하지 않는 한 사용할 수 없습니다. 일반적으로 권한 있는 서버(아래 @ns1.google.com)에서 직접 영역 전송을 수행하며, 종종 공개되지 않은 네임 서버(스텔스 네임 서버)에서 수행하기도 합니다.
# This will return "Transfer failed"
dig @ns1.google.com google.com axfr
영역에 대한 제어 권한이 있는 경우 TSIG 키로 보호되는 전송을 받도록 설정할 수 있습니다. 이 키는 클라이언트가 전송을 승인하기 위해 서버에 보낼 수 있는 공유 비밀입니다.
'X' 는 인수 및 확대를 위한 새로운 스크립트입니다 출력입니다 '-s' 인수를 NS 를 특정 네임 서버: 'x' dig - example.com
#!/bin/bash
set -e; set -u
COMMON_SUBDOMAINS="www mail mx a.mx smtp pop imap blog en ftp ssh login"
EXTENDED=""
while :; do case "$1" in
--) shift; break ;;
-x) EXTENDED=y; shift ;;
-s) NS="$2"; shift 2 ;;
*) break ;;
esac; done
DOM="$1"; shift
TYPE="${1:-any}"
test "${NS:-}" || NS=$(dig +short SOA "$DOM" | awk '{print $1}')
test "$NS" && NS="@$NS"
if test "$EXTENDED"; then
dig +nocmd $NS "$DOM" +noall +answer "$TYPE"
wild_ips=$(dig +short "$NS" "*.$DOM" "$TYPE" | tr '\n' '|')
wild_ips="${wild_ips%|}"
for sub in $COMMON_SUBDOMAINS; do
dig +nocmd $NS "$sub.$DOM" +noall +answer "$TYPE"
done | cat #grep -vE "${wild_ips}"
dig +nocmd $NS "*.$DOM" +noall +answer "$TYPE"
else
dig +nocmd $NS "$DOM" +noall +answer "$TYPE"
fi
영역 이동을 할 수 있는 기능이 없기 때문에 저는 dg
라는 작은 배시 스크립트를 작성했습니다:
#!/bin/bash
COMMON_SUBDOMAINS=(www mail smtp pop imap blog en ftp ssh login)
if [[ "$2" == "x" ]]; then
dig +nocmd "$1" +noall +answer "${3:-any}"
wild_ips="$(dig +short "*.$1" "${3:-any}" | tr '\n' '|')"
wild_ips="${wild_ips%|}"
for sub in "${COMMON_SUBDOMAINS[@]}"; do
dig +nocmd "$sub.$1" +noall +answer "${3:-any}"
done | grep -vE "${wild_ips}"
dig +nocmd "*.$1" +noall +answer "${3:-any}"
else
dig +nocmd "$1" +noall +answer "${2:-any}"
fi
이제 dg example.com
을 사용하여 깔끔한 DNS 레코드 목록을 얻거나 dg example.com x
를 사용하여 다른 인기 있는 하위 도메인을 많이 포함합니다.
grep -vE &"${wild_ips}&"는
* 10800 IN A 1.38.216.82와 같은 와일드카드 DNS 항목의 결과일 수 있는 레코드를 필터링합니다. 그렇지 않으면 와일드카드 항목이 각
$COMMON_SUBDOMAN`에 대한 레코드가 있는 것처럼 보이게 됩니다.
참고: 이는 ANY
쿼리에 의존하며, 이는 CloudFlare와 같은 일부 DNS 제공업체에 의해 차단됩니다.
Zone 전송 할 수 있는 유일한 방법이라고 모든 하위 도메인 레코드전자문서의 있어야 합니다. Dns 가 제대로 수행할 수 있도록 구성할 경우 일반적으로 외부 zone 전송 안 됩니다.
이 scans.io 사업은 DNS 기록을 검색할 수 있는 데이터베이스 및 다운로드했습니다 서브도메인. 이를 위해서는 데이터 검색, 또는 온라인 다운로드 DNS 87GB 의 속도로 데이터를 사용해 볼 수 있습니다. https://hackertarget.com/find-dns-host-records/
'모든' - 'a' 와 dig 호스트입니다 효과적입니다.
예:
$ host -a google.com
Trying "google.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10403
;; flags: qr rd ra; QUERY: 1, ANSWER: 18, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com. IN ANY
;; ANSWER SECTION:
google.com. 1165 IN TXT "v=spf1 include:_spf.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all"
google.com. 53965 IN SOA ns1.google.com. dns-admin.google.com. 2014112500 7200 1800 1209600 300
google.com. 231 IN A 173.194.115.73
google.com. 231 IN A 173.194.115.78
google.com. 231 IN A 173.194.115.64
google.com. 231 IN A 173.194.115.65
google.com. 231 IN A 173.194.115.66
google.com. 231 IN A 173.194.115.67
google.com. 231 IN A 173.194.115.68
google.com. 231 IN A 173.194.115.69
google.com. 231 IN A 173.194.115.70
google.com. 231 IN A 173.194.115.71
google.com. 231 IN A 173.194.115.72
google.com. 128 IN AAAA 2607:f8b0:4000:809::1001
google.com. 40766 IN NS ns3.google.com.
google.com. 40766 IN NS ns4.google.com.
google.com. 40766 IN NS ns1.google.com.
google.com. 40766 IN NS ns2.google.com.
원하는 것을 존 전송이라고 합니다. dig -t axfr`을 사용하여 영역 전송을 요청할 수 있습니다.
영역**은 다른 서버에 위임되지 않은 도메인과 그 아래의 모든 도메인을 말합니다.
영역 이전이 항상 지원되는 것은 아닙니다. 일반 조회에는 사용되지 않고 서버 간에 DNS 데이터를 복제하는 데만 사용되지만, 이를 위해 사용할 수 있는 다른 프로토콜(예: rsync over ssh)이 있고 이름 노출로 인한 보안 위험이 있을 수 있으며 영역 전송 응답을 생성하고 전송하는 데 일반 DNS 조회보다 더 많은 비용이 들 수 있습니다.
찾을 수 있는 상태를 확인해야 기록, DNS 서버는 도메인 이름을 선택한 서버에서부터 지켜보리니 기록하는 떨어졌다.
Windows 명령 프롬프트를 실행하십시오 이동하여 > 시작. 명령을 통해 프롬프트나 실행하십시오 >. CMD.
Nslookup, enter 키를 누르면 기본값입니다 데이터베이스에구성원을 로컬 DNS 서버 설정되었습니다 유형, 해당 지역의 IP 주소 될 것입니다.
Set DNS 레코드 유형 프로파일링하려는 조회 '#' 은 기록 유형, 그리고 여기서 # 입력하여 설정되었습니다 유형 = enter 키를 누르면, 라라 A+AAAA 모두 사용할 수 있습니다,, 또는 SRV 레코드 CNAME, MX, NS, PTR, SOA 를 유형:.
이제 프로파일링하려는 도메인 이름을 입력한 후 enter 쿼리하여. 이 예에서는, 대화할거에요 사용 Managed.com.
NSLOOKUP 은 현재 도메인에 대한 기록을 반품하십시오 엔트리입니다 입력한.
이름 서버 쿼리하지 중인 변경할 수도 있습니다. Dns 가 완전히 전파할지 레코드는유지합니다 확인 전에 이 때 유용합니다. 네임 서버 유형에 변경하십시오 서버 [이름 서버]. [이름 서버] 를 이름 서버 교체 프로파일링하려는 사용할 수 있습니다. 이 예에서는, 대화할거에요 설정되었습니다 (NSA.managed.com) 이 있다.
한 번 유형 (3 단계) 입력하고 변경일 쿼리하지 변경하십시오 필요한 경우 새로운 새로운 도메인 (4 단계).
확인란 Dig 명령을 사용하여 DNS 레코드 Dig 는 도메인 정보를 일시적으로 dns 서버에 그루퍼 매우 도구입니다. It 는 DNS 서버 응답을 조회 및 표시합니다. 않는비즈니스 반환되었습니다 이름에서 있던 %hsmb 쿼리된. 대부분의 DNS 관리자는 dig DNS 문제를 해결할 수 있습니다 유연도를 상태였기 때문에, 사용 편의성, 선명한 출력입니다. Dig 비해 덜 툴과도 다른 조회 기능을 하는 경향이 있다.
확인란 사용하여 DNS 레코드를 NSlookup 명령 Nslookup 은 쿼리하여 인터넷 도메인 네임 서버 프로그램. Nslookup 수동 및 자동 두 가지 모드가 있다.
대화형 사용자 정보 및 도메인 네임 서버 또는 다양한 호스트에서는 모드에서는 쿼리하여 목록니다 호스트에서는 인쇄하려면 도메인의.
그냥 인쇄하려면 비대화형 모드가 사용된 이름과 요청되었습니다 또는 도메인 호스트에 대한 정보. Dns 관련 문제를 해결하는 데 도움을 줄 수 있는 정보기술 (it) 의 네트워크 관리 도구를 확인하고.
모두 누릴 수 있는 방법은 없습니다 DNS 레코드를 도메인 한 인스턴스입니다. 예를 들어, 특정 레코드전자문서의 만 볼 수 있습니다 살고 싶으면 특정 도메인 기록을 볼 수 있는 A 명령을 사용할 수 있습니다. dig a (레코드 유형) domain.com. 이 모든 다른 유형의 레코드전자문서의 해당 도메인의 네가 지켜보리니 동일합니다.
익숙하지 않은 경우, 사이트 (mxtoolbox.com) 와 같은 명령줄이 인터페이스입니다 사용할 수도 있습니다. 도메인 가져오는 레코드전자문서의 도구에서는 느릅 나무 매우 유용합니다.
이 질문 답변 됐으면 좋겠다 "고 말했다.