Açıklama: Kullanıcı tarafından girilen hedef site adresine ait olan subdomain(altdomain) adreslerini çeken python toolu.
Kod:
import urllib, urllib2, re, sys
host = raw_input("Host : ")
start = 1
pageCount = 5
checkDomains = []
_s1 = None
header = {'User-Agent':'Mozilla/5.0'}
for i in range(pageCount) :
url = "https://www.google.com/search?q=site:"+host+"&start="+str(i*10)
req = urllib2.Request(url, headers=header)
_r = urllib2.urlopen(req).read()
domains = re.findall('<cite>(.*?)</cite>', _r)
for j in range(len(domains)) :
_c = 0
isSubDom = re.findall('(.*?)'+host, domains[j])
if len(checkDomains) == 0 :
checkDomains.append(domains[j])
if isSubDom[0] != "www" :
for k in range(len(checkDomains)) :
_s1 = re.search(isSubDom[0], checkDomains[k])
if _s1 != None :
_c = 1
break
if _c == 0 :
print domains[j]
checkDomains.append(domains[j])
1 Google Link
Kod:
url = "https://www.google.com/search?q=site:"+host+"&start="+str(i*10)
Site adresimizi ve sorgu sonucu bulunan kaçıncı siteden başlanmasını istediğimi yazıyoruz. (Bir nevi sayfa sayısı.) Bu search katarımızı yazarken, bir google hacking yöntemi olan site filtresini kullanıp, yalnızca istediğimiz domaini içeren sitelerin gelmesini sağlıyoruz.
2 Site Adresleri
Kod:
domains = re.findall('<cite>(.*?)</cite>', _r)
Sayfa kaynak kodunda gelen site adreslerimizi çekiyoruz.
3 Site Filtresi
Kod:
isSubDom = re.findall('(.*?)'+host, domains[j])
Kaynak kodda bulduğumuz linklerin sonunda bizim hostumuzun adı yazıyor mu diye bakıyoruz.
4 www Filtresi
Kod:
if isSubDom[0] != "www" :
Yine aradığımız sitelerin subdomain olduğunu kesinleştirmek için kullanılan bir filtre.
Örnek Sonuç
Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Host : mynet.com
kadin.mynet.com/
finans.mynet.com/
iddaa.mynet.com/
cevaplar.mynet.com/
spor.mynet.com/
fesmekan.mynet.com/
oyun.mynet.com/
beyazperde.mynet.com/
sinema.mynet.com/
bilenkazanir.mynet.com/
aktuel.mynet.com/
kobi.mynet.com/
yurthaber.mynet.com/
https://ilan.mynet.com/WQQozel_kategoriXQQlastmonthWQQpXQQsearch
haber.video.mynet.com/