首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  程序员

获取全网可访问的网址

  •  
  •   1903372529 · 225 天前 · 6869 次点击
    这是一个创建于 225 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

    选择困难症

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


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

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

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

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