去B站咯

python批量测试域名能否被访问

最近在挖洞,emmm,实习不好找,Boss直聘上的HR都只看在线简历,而我的确又没想过往上写什么。

因此,基本没有HR理我。挺想去长亭的,但是吧,那个很漂亮的HR小姐姐拒绝我了。害,等我多挖点src,再去试试。

估计现阶段也就只能先从运维做起,看后阶段能不能跳到大佬那去。难搞。

因此最近一直了解自动化挖洞(公益SRC)(xray+crawlergo+crawlergo_x_crawlergo+下面这个代码)

前面三个工具,github就有,直接就能搜出来。

挖洞,第一件事是要做资产收集,资产收集方法很多,我懒得写了。

但是子域名收集后,能否被访问,还不可知,因此我写了一个批处理的脚本。用来测试连通性的。测试还行。

import urllib.request
url_file = '资产.txt'
opener = urllib.request.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.9 Safari/537.36')]
new = open('200.txt','w',encoding='UTF-8',newline='')
with open(url_file, "r", encoding='utf-8',) as f:
    for line in f:
        u =('http://'+line).strip('\n')
        try :
            opener.open(u)
            print(u+"正常")
            new.write(u+'\n')
        except urllib.error.HTTPError:
            print(u+"不正常")
        except urllib.error.URLError:
            print(u+"不正常")
new.close

解释一下:

资产.txt:代表的是你收集的子域名。我这里的子域名都是主机头,没有http和Https协议,因此是中途加的。

User-agent:打开开发者模式。在console下输入navigator.userAgent,你就能看见你的User-agent了。

200.txt:代表能够正常访问的域名。

注意哈、有些公司它的域名可能是有SSL的,但是它的子域名可能就没有SSL,并且还都可以访问,所以在这里我懒得写这方面的验证了,有空再补。

所以有时候,你得自己替换https和http。

 

posted @ 2020-06-25 04:45  不想长大a  阅读(1225)  评论(0编辑  收藏  举报