Sublist3r框架报错/root/infoscaner-master/./Sublist3r-master/sublist3r

/root/infoscaner-master/./Sublist3r-master/sublist3r.py:614: DeprecationWarning: please use dns.resolver.Resolver.resolve() instead
  ip = Resolver.query(host, 'A')[0].to_text()
Process GoogleEnum-4:
Traceback (most recent call last):
  File "/usr/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/root/infoscaner-master/./Sublist3r-master/sublist3r.py", line 268, in run
    domain_list = self.enumerate()
  File "/root/infoscaner-master/./Sublist3r-master/sublist3r.py", line 240, in enumerate
    if not self.check_response_errors(resp):
  File "/root/infoscaner-master/./Sublist3r-master/sublist3r.py", line 303, in check_response_errors
    if (type(resp) is str or type(resp) is unicode) and 'Our systems have detected unusual traffic' in resp:
NameError: name 'unicode' is not defined
[-] Saving results to file: ./scan_file/sublist3r.txt
[-] Total Unique Subdomains Found: 42

有一篇回答说是网址变化了。

他给出的答案是:

问题不在于发送请求,似乎virustotal完全改变了网址
https://www.virustotal.com/ui/domains/{domain}/subdomains
这个导致了这个错误
在源文件中把上面地址,改为以下地址即可
https://www.virustotal.com/gui/domain/{{dommain}}/details

但是,照着这样做并不行。依旧显示下面这个错误。

Process Virustotal-9:
Traceback (most recent call last):
  File "/usr/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/root/Sublist3r-master/sublist3r.py", line 268, in run
    domain_list = self.enumerate()
  File "/root/Sublist3r-master/sublist3r.py", line 700, in enumerate
    resp = json.loads(resp)
  File "/usr/lib/python3.9/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.9/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.9/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
/root/Sublist3r-master/sublist3r.py:614: DeprecationWarning: please use dns.resolver.Resolver.resolve() instead
  ip = Resolver.query(host, 'A')[0].to_text()
Process GoogleEnum-4:
Traceback

 于是我顺着这个网站去查找:发现确实是网址发生了变化,用老网址压根就没法打开网站。直接复制下面的新网址:https://www.virustotal.com/gui/domain/{{dommain}}/details打开的是这样的一个页面。(这个页面是我们想要的)

注意他左上角的那个搜索框。有一点爬虫经验的人可能不由自主的就会干这样的事:

        随便输入一个网址,观察链接的变化。 

 到这基本上就可以了解这是在干什么了:这个Sublist3r架构估计借用了virustotal这个网站来查找信息。找到向这个网址发送请求的源码程序。(如下) 

基本可以断定:就是网址在组合过程中发生了错误。 把def __init__整个程序段换成下面的就可发挥作用。

    def __init__(self, domain, subdomains=None, q=None, silent=False, verbose=True):
        subdomains = subdomains or []
        base_url = 'https://www.virustotal.com/gui/domain/{domain}/details'
        self.engine_name = "Virustotal"
        self.q = q
        super(Virustotal, self).__init__(base_url, self.engine_name, domain, subdomains, q=q, silent=silent, verbose=verbose)
        self.url = self.base_url.format(domain=self.domain)
        return

结果测试:

输入:

sudo ./sublist3r.py -d qq.com -t 10 -o qq.com

   会发现依然有错误,这个原因还没有查明是什么回事(有可能是网页返回内容解析的问题)。但是等一会这个就会显示出查询结果。(等的时间比较长,因为查询耗时很长。)

 

 发现出现了我们想要的结果。

<think>Kita sudah berada di direktori /usr/share/Sublist3r, tapi ternyata di dalam sublist3r-env/bin tidak ada file bernama "sublist3r". Ini karena instalasi Sublist3r biasanya tidak memasukkan skrip utama ke virtual environment. Sebenarnya, setelah menginstal dependensi di virtual environment, kita dapat menjalankan Sublist3r dengan memanggil modulnya. Alternatif: Gunakan perintah yang memanggil modul Sublist3r melalui Python di virtual environment. Solusi yang lebih tepat: ```bash ./sublist3r-env/bin/python -m sublist3r -d riverplaceperiodontics.com -e DNSdumpster ``` Penjelasan: - `./sublist3r-env/bin/python`: menggunakan interpreter Python dari virtual environment yang sudah kita install dependensinya. - `-m sublist3r`: menjalankan modul sublist3r sebagai skrip. Dengan cara ini, kita tidak perlu mencari file biner `sublist3r` karena kita menjalankan modulnya langsung. Jadi, perintah lengkapnya: ```bash ./sublist3r-env/bin/python -m sublist3r -d riverplaceperiodontics.com -e DNSdumpster ``` §§相关问题§§ 1. Mengapa virtual environment tidak memiliki skrip sublist3r? 2. Apa perbedaan antara menjalankan modul dengan `python -m` dan menjalankan skrip langsung? 3. Bagaimana cara membuat skrip eksekusi di virtual environment? 4. Apa fungsi file activate di virtual environment? 5. Apakah semua package Python menyediakan skrip eksekusi? </think>### 替代执行方案 ```bash # 使用Python模块模式直接运行: ./sublist3r-env/bin/python -m sublist3r -d riverplaceperiodontics.com -e DNSdumpster ``` **核心原因**: Sublist3r安装后未生成独立命令文件,但作为Python模块存在。通过`-m`参数直接调用模块可绕过缺失的可执行文件问题。 **操作说明**: 1. `./sublist3r-env/bin/python` → 使用虚拟环境的Python解释器 2. `-m sublist3r` → 以模块形式加载主程序 3. 保留原参数 → `-d`和`-e`参数位置不变 **验证执行**: 在`/usr/share/Sublist3r`目录运行上述命令,将输出类似之前的扫描结果界面。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ad_m1n

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值