1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【网络攻防技术】实验一——域名信息收集

【网络攻防技术】实验一——域名信息收集

时间:2021-08-21 09:44:22

相关推荐

【网络攻防技术】实验一——域名信息收集

一、实验要求

本次实验主要考察大家的编程能力及子域名的信息收集方法,在文件 夹“Lab1_code”提供了使用 Bing 搜索引擎的域名收集功能。请对该 代码进行扩展,使其可支持百度搜索引擎的域名收集功能。需要实现 如下功能:

支持百度搜索引擎的域名提取,其中从百度搜索引擎提取的域名 需为真实域名,而非百度的域名跳转链接;可扩充其他功能,比如域名所在的标题等信息。

二、实验步骤

导入模块,分别用来请求网页、处理获取的到的网页源码数据、用于处理url

import requests#用于请求网页from bs4 import BeautifulSoup #用于处理获取的到的网页源码数据from urllib.parse import urlparse #用于处理url

定义采用百度搜索引擎,同时定义空列表、请求头与请求url

def baidu_search():Subdomain = [] #定义一个空列表用于存储收集到的子域名#定义请求头,绕过反爬机制hearders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36 Edg/93.0.961.38','Accept': '*/*', 'referer':'/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=site%&fenlei=256&oq=site%&rsv_pq=d3dc168d0016c859&rsv_t=09c89Z6QKcJ4xzJZrwCCrEG%2BhqUFqgggnvrkWjvfq5N%2Bqk8ZXAviJT3HLZY&rqlang=cn&rsv_enter=0&rsv_dl=tb&rsv_btype=t&inputT=13893&rsv_sug3=21&rsv_sug4=15260','cookie':'BAIDUID=9AAFB781E7A495630A3E99603C647298:FG=1; BIDUPSID=7C9932C0E0306D481FA23A4047DAC370; PSTM=1572779713; __yjs_duid=1_26c1cd348283567d4c94df518bbb60851624975916759; BD_UPN=12314753; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; H_PS_PSSID=34443_34380_34144_31254_34004_34524_34585_34092_34106_26350_34557; delPer=0; BD_CK_SAM=1; PSINO=1; H_PS_645EC=09c89Z6QKcJ4xzJZrwCCrEG%2BhqUFqgggnvrkWjvfq5N%2Bqk8ZXAviJT3HLZY; BA_HECTOR=81a18ka584012hakqq1gjk7fi0r; BDSVRTM=10; WWW_ST=1631198807201'}#定义请求urlurl = "//s?ie=utf-8&mod=1&isbd=1&isid=d3dc168d0016c859&ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=site%&fenlei=256&oq=site%&rsv_pq=d3dc168d0016c859&rsv_t=09c89Z6QKcJ4xzJZrwCCrEG%2BhqUFqgggnvrkWjvfq5N%2Bqk8ZXAviJT3HLZY&rqlang=cn&rsv_enter=0&rsv_dl=tb&rsv_btype=t&inputT=13893&rsv_sug3=21&rsv_sug4=15260&bs=site%&rsv_sid=undefined&_ss=1&clist=&hsug=&f4s=1&csor=15&_cr1=33613"resp = requests.get(url,headers=hearders) #访问url,获取网页源码

创建BeautifulSoup对象,使用find_all()查找源码中所有返回网址信息的内容

soup = BeautifulSoup(resp.content,'html.parser') #创建一个BeautifulSoup对象,第一个参数是网页源码,第二个参数是Beautiful Soup 使用的 HTML 解析器,job_bt = soup.find_all("div",class_="result") #find_all()查找源码中所有返回网址信息的内容

查找域名并存入域名表

for i in job_bt:div = i.find("div",class_="f13") #进入有域名的最外面的标签a_target = div.find("a",class_="c-showurl c-color-gray") #进入含有域名的标签中link = a_target.text #找到网址原本的域名name=i.h3.a.string #查a标签的string#复原原本的域名link = str("http" + "://" + link)abstract = i.find("div",class_="c-abstract").text #获取描述domain = link+"\t"+name+"\n"+"\t"+abstractif domain in Subdomain: #如果解析后的domain存在于Subdomain中则跳过,否则将domain存入子域名表中passelse:Subdomain.append(domain)print(domain)

域名收集结果(采用作为顶级域名)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。