누군가가 도울 수 있기를 바랍니다. 나는 이 문제를 해결하기 위해 애쓰고 있으며 이 문제를 해결할 수 있는 간단한 방법이 있기를 바랍니다.
로컬 DNS 서버에 있는 모든 컴퓨터의 목록을 얻으려고 합니다. 테스트 목적상 Win2008 DNS이지만 가능하다면 어떤 경우에도 작동하는 방법을 찾아보고 싶습니다.
nslookup
본질적으로 나는 DNS의 모든 시스템에 대해 와 동등한 것을 원합니다 . 예를 들어. 기계 이름만 나열해도 상관 없습니다.
192.168.0.1 Desktop1.domain.local
192.168.0.2 Server2.ad.domain.local
192.168.0.3 Server3.sub.domain.local
솔루션이 Windows인지 Linux인지는 상관하지 않습니다.
나는 우분투에서 Dig를 사용하려고 노력해 왔지만 실제로는 내가 생각했던 것을 수행하도록 설계되지 않았다는 생각이 들기 시작했습니다.
dig +nocmd +domina.local any +multiline +noall +answer
내 기본 논리에서 나는 다음과 같은 것을 원합니다.
nslookup -all
또는
nslookup *
답변1
따라서 DNS 영역의 내용을 열거하려고 합니다. 시작한 경로를 따라 진행되는 무차별 검사를 제외하고는 "외부"에서는 쉽게 가능하지 않습니다. 이는 일종의 비밀번호 크래킹과 같습니다. 가능한 모든 이름을 쿼리하고, 패턴 일치가 있는 와일드카드를 확인해야 합니다. 이는 사소하지 않고 리소스 집약적이며 경계하는 관리자에게도 매우 눈에 띕니다(만약 DoS 공격처럼 보일 것입니다). 조심하지 마세요). 그러나 나는 검은 모자가 이런 식으로 접근할 것이라고 생각하지 않습니다. DNS 서버 앞에 스니퍼를 설치하고 시간이 지남에 따라 유용한 이름을 수동적으로 수집하거나 DNS 서버 자체를 손상시키는 것이 더 쉬울 것입니다.
따라서 귀하의 목적이나 사용 사례는 확실하지 않지만 훨씬 쉽고 합법적인 방법이 있습니다. 예를 들어 Microsoft DNS 서버에 액세스하여 MMC를 열고 DNS 서비스에 연결하면 모든 영역과 각각의 모든 이름이 표시됩니다. 또는 MMC 콘솔에서 모든 영역을 내보내도록 관리자에게 요청할 수 있습니다. 또는 주기적으로 "테스트" 서버로 영역 전송을 가져올 수 있도록 요청하십시오(예: "dig axfr @"을 사용하거나 보조 서버 설정). 이는 원하는 것을 얻을 수 있는 훨씬 더 쉽고 방해가 되지 않는 방법이며, 이것이 합법적인 목적을 위한 것이라고 가정하면 큰 문제가 되지 않습니다.