首页 > 其他分享 >实验 1:域名信息收集工具

实验 1:域名信息收集工具

时间:2024-10-30 16:32:03浏览次数:1  
标签:收集 结果 代码 搜索引擎 域名 实验 链接 百度

作业题目

本次实验主要考察大家的编程能力及子域名的信息收集方法,在文件

夹“Lab1_code”提供了使用 Bing 搜索引擎的域名收集功能。请对该

代码进行扩展,使其可支持百度搜索引擎的域名收集功能。需要实现

如下功能:

a) 支持百度搜索引擎的域名提取,其中从百度搜索引擎提取的域名

需为真实域名,而非百度的域名跳转链接;

b) 可扩充其他功能,比如域名所在的标题等信息。

实验步骤及结果

  1. 执行示例代码

执行代码,结果如下:

修改

该代码实现了用Bing搜索引擎搜集部分qq.com子域名的功能。

  1. 理解并修改示例代码

请求头

检查headers中的User-Agent字段,检测是否携带cookie和要求有referer都是常见的反爬手段,设置这样一个请求头绕过反爬机制。

所以,这部分代码不用修改。

part2

打开链接,是一个用Bing搜索domain:qq.com的网页。

搜索

用浏览器审查元素,发现子域名url就是html文件中<h2>标签下<a>标签href属性的值。

搜索2

所以,对代码进行如下修改:

在百度搜索引擎中搜索:domian:baidu.com,复制链接,将代码中变量url的值修改为该链接。

百度

发现对于百度搜素引擎来说,我们需要的结果在<h3>标签下,所以将h2改为h3。

修改结果:

啊哈

同时也可以发现,<h3>标签下的结果并不是原始链接,百度使用短链接,方便用户访问原始的网站,我们需要将短链接还原成长链接。

加入代码,执行代码,得到结果:

捕获6

可以发现,得到的结果并不多,只返回了第一页的内容。这是因为百度的搜索结果是动态加载,初始的htm响应不包含所有的结果。

写一个循环实现“翻页”,同时修改url:

黄瓜

yo

这时执行代码,有时候会爬到一些不符合url的内容产生报错:

捕获8

用正则表达式对内容过滤:

正在郑郑泽

执行代码,得到结果:

捕获9

有时运行代码时会有如下报错:

byte

将str(urlparse(link).schema和urlparse(link).netloc变为字符串再连接:

解决

可以解决。

有时也会发现,得到的结果里有并不是百度子域名的域名:

错误2

可能是因为百度在搜索时并没有完全过滤:

原因

  1. 进一步完善功能(域名所在标题)

通过在搜索引擎审查网页元素,可以观察到域名所在标题信息就是<a>标签的内容。

观察

定义一个空列表存储搜集子域名的标题:

定义

在子域名加到域名列表后搜集它的标题加入标题列表:

aaaaaaaaa

执行代码,结果:

成功

完成。

  1. 最终代码

最终1最终2最终3最终4

标签:收集,结果,代码,搜索引擎,域名,实验,链接,百度
From: https://www.cnblogs.com/wxrwajiez/p/18516059

相关文章

  • Javaweb 实验6 JSP内置对象
    我发现了有些人喜欢静静看博客不聊天呐,但是ta会点赞。这样的人呢帅气低调有内涵,美丽大方很优雅。说的就是你,不用再怀疑哦目的:掌握JSP内置对象的使用。理解JSP的作用域掌握JSP的表达式使用实验要求:完成实验题目要求提交实验报告,将代码和实验结果页面截图放入报告中第......
  • 实验3
    task11#include<stdio.h>23charscore_to_grade(intscore);4intmain(){5intscore;6chargrade;78while(scanf("%d",&score)!=EOF){9grade=score_to_grade(score);10printf(&quo......
  • 实验三
    实验一源代码#include<stdio.h>charscore_to_grade(intscore);intmain(){intscore;chargrade;while(scanf("%d",&score)!=EOF){grade=score_to_grade(score);printf("分数;%d,等级:%c\n\n",score......
  • 刚刚买的域名被DNS劫持了怎么处理
    在当今数字化的时代,域名作为网络世界的重要标识,对于个人和企业的在线业务都至关重要。然而,有时会遭遇令人头疼的问题,比如新买的域名被DNS劫持。这不仅会影响网站的正常访问,还可能导致用户信息泄露、业务受损等严重后果。那么,当我们面临这种情况时,应该如何妥善处理呢?如果刚刚买的......
  • 实验2 类和对象_基础编程1
    实验任务1头文件#pragmaonce#include<string>//类T:声明classT{ //对象属性、方法public: T(intx=0,inty=0);//普通构造函数 T(constT&t);//复制构造函数 T(T&&t);//移动构造函数 ~T();//析构函数 voidadjust(intratio); voiddispla......
  • 实验3_C语言函数应用编程
    task1:输入分数,返回等级有问题。当输入高于E等级对应的分数时,函数返回值将是从该等级到E等级全部等级,如输入9将返回BCDE。 #include<stdio.h>charscore_to_grade(intscore);//函数声明intmain(){intscore;chargrade;while(scanf("%d",&score)!......
  • 实验3
    任务11#include<stdio.h>2charscore_to_grade(intscore);3intmain(){4intscore;5chargrade;6while(scanf("%d",&score)!=EOF){7grade=score_to_grade(score);8printf("分数:%d,等级:%c\n\n......
  • Linux常用信息收集命令
    查看Linux系统内核信息uname-a查看Linux操作系统版本信息cat/proc/version查看Linux操作系统发行版信息lsb_release-acat/etc/issuecat/etc/redhat-release查看设备型号sudo/usr/sbin/dmidecode-ssystem-product-name查看CPU相关信息CPU数量:cat/pro......
  • Java Z 垃圾收集器如何彻底改变内存管理
    大家好,我是V哥,今天的内容来聊一聊ZGC,JavaZGarbageCollector(ZGC)是一个低延迟垃圾收集器,旨在优化内存管理,主要用于大内存应用场景。它通过以下几个关键创新,彻底改变了传统Java的内存管理方式:V哥总结的以下5点,欢迎一起讨论。1.极低的暂停时间ZGC的暂停时间一般保持在10毫......
  • 20222313 2024-2025-1 《网络与系统攻防技术》实验三报告
    实验内容1.1实践内容正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧通过组合应用各种技术实现恶意代码免杀用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本1.2回答问题杀软是如何检测出恶意代码的?(1)特征码......