하나의 IP에 연결된 DNS의 모든 호스트 이름을 찾는 방법은 무엇입니까?

하나의 IP에 연결된 DNS의 모든 호스트 이름을 찾는 방법은 무엇입니까?

한 컴퓨터에 여러 호스트가 구성되어 있는 경우(류 풍의apache의 VirtualHosts), IP를 조회하고 IP에 연결하도록 구성된 모든 도메인을 어떻게 찾을 수 있나요?

예를 들어, 내 서버에 연결된 여러 웹 및 이메일 도메인이 있습니다. 해당 도메인을 가리키는 모든 도메인을 어떻게 찾을 수 있나요?

심지어 가능합니까?

내가 소유한 모든 도메인에 대한 DNS A 항목이 있고 일부 친구의 도메인이 내 서버를 가리킨다는 것도 알고 있습니다. 내가 보고 싶은 것은 사람들이 내가~하지 않다나도 거기를 가리키고 있다는 걸 알아요. (또는 누군가 자신의 도메인을 다른 곳에서 다시 지정한 경우 내 서버에서 해당 '이전' 웹사이트를 삭제할 수 있습니다.)

답변1

그렇지 않아요. 이것은 순방향 DNS 조회와 역방향 DNS 조회의 차이점에 관한 것입니다.

정방향 조회는 표준 이름->IP 조회입니다. 따라서 모든 이름을 미리 알아야 합니다.

원하는 것은 IP->이름 조회를 수행하는 것이지만 어떻게든 Apache 구성과 DNS에 A 레코드(또는 CNAMES 등)로 적용한 모든 이름을 가져오는 것입니다.

아마도 역방향 조회(예: dig @nameserver $ip -x)를 수행하면 해당 넷블록을 소유한 사람(ISP일 수 있음)이 해당 IP에 제공한 호스트 이름이 반환된다는 사실을 알게 될 것입니다. 45-23-45-231.big-isp.com과 같은 이름을 가질 수도 있지만 이는 여러분에게 큰 의미가 없습니다. 그리고 결정적으로 역방향 레코드는 하나만 있지만 앞으로는 많은 레코드가 있을 수 있습니다.

나는 이것이 질문으로 귀결된다고 생각합니다. 리버스 존은 포워드 존의 기록에 대해 어떻게 알 수 있습니까? 대부분의 설정에서 정방향 영역은 고객이 변경할 수 있도록 제공되지만 역방향 영역은 넷블록 소유자가 유지 관리합니다. 두 시스템이 작동하기 위해 서로에 대해 아무것도 알 필요는 없습니다.

답변2

DNS 프로토콜 자체로는 이를 수행할 수 없습니다. 일반적으로 해당 IP 주소를 가리키는 레코드가 PTR많더라도 각 IP 주소에 대해 하나의 레코드 만 있기 때문입니다 A.

그러나 일부 회사(예:http://www.ip-adress.com/)은 전체 DNS 조회 결과를 저장한 다음 자체 데이터베이스에 역방향 쿼리를 제공하여 원하는 내용이 포함된 데이터베이스를 컴파일했습니다.

하지만 이러한 데이터베이스는 확정적일 수 없으며, 가능한 모든 도메인에 대해 알고 있다고 보장할 수는 없습니다.~할 것 같다우연히 해당 IP를 가리키게 되면 실제로 조회한 도메인 이름에 대한 DNS 세부 정보만 기록할 수 있습니다.

답변3

이를 수행하는 유일한 방법은 검사하려는 도메인 이름의 콘텐츠 데이터를 보유하는 것입니다.

이 콘텐츠를 사용하면 IP를 기준으로 호스트 이름을 검색하는 재귀 스크립트를 개발할 수 있습니다(최종 CNAME 확인으로 인해 재귀).

일부 도메인 이름 파트너의 데이터를 얻으려면 보조 파트너가 되도록 요청하고 dig -t axfr을 사용하여 데이터를 얻을 수 있습니다.

답변4

당신은 확인해야롭텍스 최고의 웹 디자인은 아니지만 매우 유용합니다! IP에 연결된 모든 DNS를 확인할 수 있습니다.

물론, Alnitak이 설명했듯이,

DNS 프로토콜 자체로는 불가능합니다.

이는 이 웹사이트가 대부분의 DNS/IP 서버에 대한 거대한 데이터베이스라는 것을 의미합니다. 이는 매우 효율적이지만 100% 완전하지는 않습니다.

관련 정보