• 请不要在回答技术问题时复制粘贴 AI 生成的内容
1903372529
V2EX  ›  程序员

获取全网可访问的网址

  •  
  •   1903372529 · Apr 5, 2019 · 12075 views
    This topic created in 2773 days ago, the information mentioned may be changed or developed.

    我想获取我可以访问的所有网址信息,原因:我所知道的网址都是通过各大网站推荐、搜索引擎找到、朋友推荐,这种形式获取的,但总有我未曾发现的非常好的网站,我想通过这种方式获取一些我感兴趣的新网站。(非黄)

    我想尝试获取所有的可以正常访问的网址,并输出网址+标题。 通过搜索发现一篇文章《域名遍历搜索 python 实现》: https://blog.csdn.net/qq_33848737/article/details/77879841

    但博主已经没有更新了,我尝试将他的程序跑起来,发现 domainqueue 在进程池中的协程中调用时为空,而主进程初始化时不为空。由于对 python、对多进程、多线程不够了解,尝试了两天,有些束手无策,但始终难以消除心中的这个想法。希望有大佬可以帮帮我。

    Supplement 1  ·  Apr 5, 2019
    看了大家的回复:
    1、网站基数高达 17 亿。
    2、假设遍历得到所有可访问的网站,结果集也是相当大。
    3、同一个 IP 可能绑定有多个域名。

    难以遍历,遍历后结果集过大,不能达到寻找感兴趣网站的目的,所以遍历所有网站的想法是行不通的。

    那么回到问题的核心:我希望能获取到自己目前不知道的,却是我感兴趣的,有价值的网站。
    该通过怎样的方法去实现呢?
    75 replies  •  2019-04-06 21:15:04 +08:00
    Sylv
    Sylv
    Apr 5, 2019❤️1
    1
    你这想法是大海捞针。
    randyo
    randyo
    Apr 5, 2019 via Android❤️1
    2
    不如找找看哪里能查询到所有备案域名
    1903372529
    1903372529
    OP
    Apr 5, 2019
    3
    @Sylv 确实是大海捞针,但也许我捞的不是一根针呢?能捞多少捞多少呗。我的想法确实有些奇怪,我通过各种搜索引擎都没有搜到相关的资料,唯一找到一篇就是我在文中提到的哪章。
    foskazs
    foskazs
    Apr 5, 2019 via Android❤️1
    4
    太難實現了
    1903372529
    1903372529
    OP
    Apr 5, 2019
    5
    @randyo 我在想是不是可以通过遍历 IP 地址来实现?也许有些网站并没有域名?
    1903372529
    1903372529
    OP
    Apr 5, 2019
    6
    @foskazs 确实难以实现,不过我还是很渴望能做到这件事。
    annoy1309
    annoy1309
    Apr 5, 2019 via Android❤️1
    7
    我觉得你需要科普一下具体定义
    envylee
    envylee
    Apr 5, 2019
    8
    这不就是搜索引擎吗,不断抓取...
    1903372529
    1903372529
    OP
    Apr 5, 2019
    9
    @annoy1309 比如 www.baidu.com 和 www.v2ex.com ,在我不知道域名的情况下,我希望通过一个程序可以知道这些网址是可以访问的,并获取网站的标题。通过这种方式来发现一些新的网站,也许是我不知道的网站,也许是不出名的网站,也许是刚被搭建且没有做任何宣传的网站。
    OscarUsingChen
    OscarUsingChen
    Apr 5, 2019❤️1
    10
    1903372529
    1903372529
    OP
    Apr 5, 2019
    11
    @envylee 大概是这个意思,想通过一个程序,列出一个列表,列表包含任何访问状态码为 200 的网站以及网站标题。
    naiba
    naiba
    Apr 5, 2019 via Android
    12
    这个有的,有请楼下搞安全的大佬解答
    1903372529
    1903372529
    OP
    Apr 5, 2019
    13
    @OscarUsingChen 中国占有 7 亿,占有率很高呢。
    XuJianHua
    XuJianHua
    Apr 5, 2019
    14
    @naiba 这个 naiba 是非主流 naiba 吗
    javashell
    javashell
    Apr 5, 2019 via Android
    15
    你这个想法和网络空间引擎相似,具体可以参考 fofa.so 撒旦 钟馗之眼等
    binux
    binux
    Apr 5, 2019 via Android
    16
    Google 只有不存在的网站搜索不到
    blodside
    blodside
    Apr 5, 2019 via Android
    17
    比起去挨个爬不如直接解析 common crawl 的数据 dump
    GeekCourse
    GeekCourse
    Apr 5, 2019 via Android
    18
    谷歌都没有把全部网站给抓取下来。
    如果按照域名遍历的话,你可以计算一下 5 位长度域名。
    26 个字母+10 个数字+中横线=37
    37 的 5 次方等于六千六百万
    再乘以 200 个域名后缀,等于 138 亿

    然后其他域名长度的要不要呢?
    比如 6 位,7 位,8 位,9 位,10 位
    你算算有多少个域名?
    inhzus
    inhzus
    Apr 5, 2019 via Android
    19
    那假如你获取到了所有的网站了,你想到怎么才能找到自己感兴趣的网站了吗?
    Hk4Fun
    Hk4Fun
    Apr 5, 2019 via Android❤️1
    20
    可以试一下 zmap,据说能在一个小时内扫描整个公共互联网
    heyeshuang
    heyeshuang
    Apr 5, 2019 via Android❤️5
    21
    想起了一篇科幻小说:《诗云》。我用里面的一首诗来回答你吧:
    啊啊啊啊啊啊啊
    啊啊啊啊啊啊啊
    啊啊啊啊啊啊啊
    啊啊啊啊啊啊嗷
    nfroot
    nfroot
    Apr 5, 2019 via Android
    22
    @Hk4Fun 又不是每个网站都可以直接通过 IP 访问,遍历 IP 没有用的
    tony601818
    tony601818
    Apr 5, 2019
    23
    听说你想复制谷歌?
    lzxgh621
    lzxgh621
    Apr 5, 2019 via iPhone
    24
    域名最长 63 位 总共 63 个字符排列组合 遍历一遍
    Ultraman
    Ultraman
    Apr 5, 2019 via Android
    25
    真找出来了你能一个一个看过去吗…?
    nfroot
    nfroot
    Apr 5, 2019 via Android❤️1
    26
    你要是觉得遍历 IP 肯定是行不通的,一个 IP 上面可能有一千个域名绑定了。
    遍历域名更行不通,短域名有可能,稍微长一点的不现实。

    不过并不是没有办法,每个域名后缀都有一个组织维护,你只需要找一批雇佣兵,一个个地点摸过去,让他们交出该后缀下所有域名。

    也可以去找那些非权威 dns 服务器(就是类似 114.114.114.114 这种公共 dns,或者运营商 dns 服务器),他们也有列表,不过不是那么完整,不过一个个摸过去绝对可以得到大部分。
    lzxgh621
    lzxgh621
    Apr 5, 2019 via iPhone
    27
    @lzxgh621 #24 是 37
    kerr92
    kerr92
    Apr 5, 2019
    28
    咨询域名注册商?
    nfroot
    nfroot
    Apr 5, 2019 via Android❤️1
    29
    现在知道为什么谷歌要建立自己的公共 dns 服务器了吧?不管你是什么域名,都需要解析,只要经过了他家的 dns 服务器,就会留下记录,然后关门上爬虫。。。
    nfroot
    nfroot
    Apr 5, 2019 via Android❤️4
    30
    完成了第一步,接下来你就会遇到第二个问题。

    选择困难症

    这个也是谷歌的专业。。。


    所以更简单的办法是,把谷歌收购了,你的问题全都解决了,这也是可行性最高的方式。
    1903372529
    1903372529
    OP
    Apr 5, 2019
    31
    @nfroot 你说的很有意思。
    1903372529
    1903372529
    OP
    Apr 5, 2019
    32
    @inhzus 确实是一个问题。
    1903372529
    1903372529
    OP
    Apr 5, 2019
    33
    @binux 你确定谷歌能搜索到所有的网站吗?
    naiba
    naiba
    Apr 5, 2019 via Android
    34
    @XuJianHua 这个是非主流奶爸😉
    jadec0der
    jadec0der
    Apr 5, 2019 via iPhone
    35
    无力吐槽,真是缘木求鱼…为什么不相信推荐,要自己去发现?你买书会不相信媒体的书店的推荐,拿出版总署的书号目录一本一本看吗
    annoy1309
    annoy1309
    Apr 5, 2019
    36
    @Hk4Fun 印象中 zmap 那次一小时,用的可是对等的 10G 带宽。。。
    foskazs
    foskazs
    Apr 5, 2019 via Android
    37
    你是不是想开发个暗网……
    qilishasha
    qilishasha
    Apr 5, 2019❤️1
    38
    可以通过 ip 为遍历基础,然后对每一个 ip 进行域名绑定反查,就可以有效的获得在用域名了。然后对每个域名的快照内容进行你感兴趣的筛选就可以了。
    yingfengi
    yingfengi
    Apr 5, 2019 via Android
    39
    关键词:钟馗之眼

    但是你也得有关键词啊。。。不然难道你遍历所有域名?那还有二级域名呢,你怎么办。
    yingfengi
    yingfengi
    Apr 5, 2019 via Android
    40
    @lzxgh621 二级域名,三级域名,四五六七八九十级域名怎么办。
    mayx
    mayx
    Apr 5, 2019 via Android
    41
    censys 可以扫描所有没设白名单的网站
    jeffjade
    jeffjade
    Apr 5, 2019❤️1
    42
    如果你的初衷是:“希望能获取到自己目前不知道的,却是我感兴趣的,有价值的网站”
    那么推荐关注下 https://nicelinks.site/ 这个网站,兴许对你有所帮助(尤其是在未来)。
    io123
    io123
    Apr 5, 2019 via Android❤️1
    43
    之前写过这种广度爬虫,每分钟抓取 1 万+网址(不重复)
    lhx2008
    lhx2008
    Apr 5, 2019 via Android❤️1
    44
    楼主的意思就是建立一个分布式的网站推荐系统,这个确实没人做,不过难度也非常高
    waacoo
    waacoo
    Apr 5, 2019 via iPhone❤️1
    45
    Internet Archive is a non-profit digital library offering free universal access to books, movies & music, as well as 351 billion archived web pages.
    你想的别人都缓存了,你唯一要做的就是爬它,然后列表出来。
    archive.org
    1903372529
    1903372529
    OP
    Apr 5, 2019 via Android
    46
    @jeffjade 感谢
    1903372529
    1903372529
    OP
    Apr 5, 2019 via Android
    47
    @io123 可以参考一下吗?
    1903372529
    1903372529
    OP
    Apr 5, 2019 via Android
    48
    @lhx2008 放大了讲确实是这个意思,不过目前只是想自己做个功能型工具玩儿。
    Mutoo
    Mutoo
    Apr 5, 2019❤️1
    49
    互联网上 96% 的内容是在深网和暗网的,你爬也爬不到。
    1903372529
    1903372529
    OP
    Apr 5, 2019 via Android
    50
    @Mutoo 对这些网站也比较有好奇心,想知道如何能够爬取到
    1903372529
    1903372529
    OP
    Apr 5, 2019 via Android
    51
    @Mutoo 如果爬不到,那他们是怎么访问的呢?
    Mutoo
    Mutoo
    Apr 5, 2019
    52
    @1903372529 会员制网站,学术数据库,Tor 网络上的军火商。
    1903372529
    1903372529
    OP
    Apr 5, 2019 via Android
    53
    @Mutoo 感谢科普
    grimpil
    grimpil
    Apr 5, 2019 via Android
    54
    庄子:吾生也有涯,而知也无涯,以有涯随无涯,殆已。

    不如你先说说你都对啥感兴趣,v 站这么多大佬,给你推荐一些不就行了
    1903372529
    1903372529
    OP
    Apr 5, 2019 via Android
    55
    @grimpil 感谢你的建议
    binux
    binux
    Apr 5, 2019
    56
    @Mutoo #51 但是这些不符合「全网可访问」和「我可以访问的」的要求
    Mutoo
    Mutoo
    Apr 5, 2019
    57
    @binux 你理解的“全网可访问”是“所有人都能访问”,而我理解的是“在能访问公网的任意网络结点”都能访问,而前提是你要有登陆权限。
    rb6221
    rb6221
    Apr 5, 2019
    58
    网址 url 的话,理论上应该是超级大的,因为可以有二级 三级 等域丨名的存在,而且其没有规律,基本上是想怎么起就怎么起。如果你是最简单粗暴的遍历,估计跑不完
    evegod
    evegod
    Apr 5, 2019
    59
    说,你是想做什么?
    vzev
    vzev
    Apr 5, 2019
    60
    肯定不是为了找感兴趣的网站,这个想法 5 年前就实现了,不过是用来做网赚的。
    讲真,就算从一万个网站里面我估计你也挑不到几个感兴趣的网站。
    BFDZ
    BFDZ
    Apr 5, 2019
    61
    首先明确你的兴趣方向,然后主要几个找圈内网站的方法:
    1、搜索引擎:谷歌、百度等
    2、找兴趣相关的论坛、贴吧,国外有 reddit
    3、加 QQ 群、微信群、tg 群结识圈内人士
    nanaw
    nanaw
    Apr 5, 2019
    62
    @Mutoo 扯毛蛋啊,你当这里是微信公众号。就暗网那一点点路由咋能吹成这样呢?暗网站点能有表网的千分之一就不错了
    sigup
    sigup
    Apr 5, 2019
    63
    https://censys.io/data
    这里有全球 80,443 端口的 http get 结果
    sigup
    sigup
    Apr 5, 2019
    64
    censys 好像收费了,下面这个还没收费,而且更全一些
    https://opendata.rapid7.com/sonar.http/
    Moani
    Moani
    Apr 5, 2019
    65
    @1903372529 emmmmm,根据你的要求,在对对象一无所知的情况下,判断该域名是否可以访问?那你直接访问该域名根据返回结果就可以判断。
    一种情况,你想对沙漠中的每一粒沙子都了解?(新开网站,新注册域名)
    或者,你想知道,沙漠里与你相关的沙子?或者可能相关的沙子?
    那么,大数据与人工智能?根据你的行为判断,而推送你想要的。
    Mutoo
    Mutoo
    Apr 5, 2019
    66
    @nanaw 数据引用自 The Dark Net isn't what you think. It's actually key to our privacy | Alex Winter | TEDxMidAtlantic
    &ab_channel=TEDxTalks
    2 分 57 秒
    iacyl
    iacyl
    Apr 5, 2019
    67
    大家不要被楼主骗了,楼主其实是抓取全网消息来训练的人工智能。
    qqor
    qqor
    Apr 5, 2019 via Android
    68
    @1903372529 都是小偷或者僵尸战
    eluotao
    eluotao
    Apr 6, 2019 via iPhone
    69
    告诉你一个最简单的,便利所有中文博客,还有 csdn,博客园,等个人网站的社区,抓取这些网站的所有文章,还有评论,从这些数据里就能筛选出基本全网所有已知,公开,有影响力的网站信息了!

    比你遍历域名靠谱多了
    eluotao
    eluotao
    Apr 6, 2019 via iPhone
    70
    他们都有分享域名和链接,统统取得域名和标题。保存起来,去除重复
    quake0day
    quake0day
    Apr 6, 2019
    71
    当然是通过和你兴趣类似的人收藏的书签了
    推荐试下 https://pinboard.in/
    flynaj
    flynaj
    Apr 6, 2019 via Android
    72
    想找什么东西直接 Google 就行,如果你找到东西经常在那个网站上,那个网站就是你感兴趣的
    zhzbql
    zhzbql
    Apr 6, 2019
    73
    楼主你是多有钱,这么大量的数据光是买硬盘的钱都得上千万
    Northxw
    Northxw
    Apr 6, 2019
    74
    如果你有上亿美元,先买等价的云服务器,然后编写足够强健的爬虫,爬虫没日没夜爬取不下线...... 就这样,估计也搞不完,就算你的预期目标是中国版图内的 URL,你也得先剔除掉这些网页中的外网站点。 总之,虽然在理论上可以实现,但是现实不允许你这样做。因为真的真的真的真的没有资本...................
    opengps
    opengps
    Apr 6, 2019 via Android
    75
    有些时候不太好,会把暗网各种不适合宣传的内容暴露出来
    也有暴露不出来的网站,比如我的某个业务网站,域名只靠 hosts 解析使用来避免被公网工具扫描到
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1698 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 137ms · UTC 05:30 · PVG 13:30 · LAX 21:30 · JFK 00:30
    ♥ Do have faith in what you're doing.