2013-08-30 3 views
0

나는 경험을하고 싶습니다. 인터넷상의 모든 DNS 항목에 대한 전체 데이터베이스가 필요합니다.모든 DNS 항목을 검색하고 가져 오는 방법

인터넷을 검사하고 모든 DNS 항목을 가져 오는 것이 현실적입니까? 한계는 무엇입니까? 저장소, 시간 또는 네트워크 대역폭? 좋은 시작 방법은 무엇입니까? (나는 항상 IP 공간을 스캔하여 역 DNS 검색을 할 수 있지만 효율적인 방법은 아님)

+0

가능한 중복 [ 전체 whois 데이터베이스/등록 된 도메인 목록을 다운로드 할 수 있습니까?] (http://stackoverflow.com/questions/307553/possible-to-download-entire-whois-database-list-of-registered-domains) –

+0

@GregHewgill 감사합니다. 당신을 참조하십시오! –

답변

2

RIPE 또는 ARIN과 같은 데이터베이스를 다운로드하면 원하는 역방향 DNS 항목을 얻을 수 없습니다. 실제로 Autonomous Systems과 DNS 서버 만 이러한 범위를 해결하게됩니다. 다른 건 없어. 이것을 확인하십시오 : ftp://ftp.ripe.net/ripe/dbase/ripe.db.gz

역 DNS 쿼리는 모든 DNS 항목의 일부만 가져옵니다. 실제로 대부분의 도메인 이름은 AXFR 요청을 수락하지 않으므로 아무도 도메인 이름을 가질 수 없으며 일부 국가에서는 불법으로 간주 될 수 있습니다. .com/.net/.org 도메인의 전체 목록에 액세스하려면 ICANN 또는 ICANN 리셀러 일 수 있지만 공개적으로 제공되지 않는 다른 TLD (여러 국가)는 절대 얻지 못합니다.

그런 다음 가장 좋은 방법은 모든 역방향 IP 해상도를 무력화하여 Google과 같은 인터넷 거인이되어 자신의 공용 DNS를 설정하는 것입니다. + 가능한 모든 도메인 이름에 대해 AXFR 요청을 수행하려고 시도합니다. 감지.

모든 옵션을 섞으면 모든 DNS 항목 중 의미있는 부분을 얻을 수 있지만 100 %는 넘지 않으며 아마 5 ~ 10 %는 넘지 않을 수 있습니다. 도메인 이름 목록을 얻으려는 whois 서버에 대해 잊어 버리십시오. 이용 약관에 의해 금지되어 있습니다.

Google이 아닌 유일한 방법이기 때문에 지금 역방향 ipv4 해상도를 사용하고 있습니다. 우리는 2 주 전에 시작했습니다.

2 주간 조정 후 인터넷의 20 %를 완료했습니다. 여러 다른 노드에서 병렬로 24 개 범위를 스캔하는 수천 개의 스레드를 시작하는 파이썬 스크립트를 개발했습니다.

nmap만큼 안정적이지 만 nmap만큼 안정적이지 않으므로 우리가 얻은 틈새를 채우기 위해 "두 번째 패스"가 필요할 것입니다. (IP 주소의 85 %가 첫 번째 시도). 완전하고 일관된 데이터베이스를 얻으려면 정기적 인 재검색을 수행해야합니다.

지금 우리는 모든 노드에서 2mbps의 DNS 쿼리 (모든 노드에서 초당 300-4000 쿼리, 주로 서버와 원격 DNS 사이의 RTT에 따라)에서 실행되는 여러 서버를 운영하고 있습니다.

약 30 일 후에 모든 IPV4 항목의 첫 번째 단계를 완료해야합니다.

사전 결과를 저장하는 텍스트 파일에는 모든 "A 클래스"범위 (예 : 111.0.0.0/8)에 대해 평균 3M 개의 항목이 있습니다. 이 파일들은 단지 "IP \ tname \ n"이며, 우리는 해결 된 IP만을 저장합니다.

우리는 공급자의 DNS 서비스에 영향을 미치고 우리를 차단했기 때문에 모든 서버에 DNS를 구성해야했습니다. 실제로 우리는 다른 DNS 서버에서 약간의 벤치마킹을 수행했습니다. Bind를 잊어 버리면 무거워서 초당 300 해상도 이상을 얻지 못할 것입니다.우리가 검사를 끝내도록하면

우리가 기사를 게시하고 데이터베이스 :

트위터에 나를 따르라 공유 할 : 우리가 이미 가지고

한 결론 @kaperuzito하는 사람들은 두 번 생각 할 수 있다는 것입니다 DNS PTR 항목에 입력 한 이름에 대해 IP 주소를 "payroll", "ldap", "intranet", "test", "sql", "VPN"등으로 명명 할 수는 없으며 ... 수백만 개가 있습니다. (