GithubHelp home page GithubHelp logo

subdomainsbrute's Introduction

subDomainsBrute 1.5

A fast sub domain brute tool for pentesters, works with Python3.5+ or Python2.7.

高并发的DNS暴力枚举工具,支持Python3.6+和Python2.7,建议使用Python3.8+。

Install

Python3.5+ users: pip3 install dnspython==2.2.1 async_timeout

Python2.7 users: pip install dnspython gevent

New Features

  • Support find more domains from HTTPS cert
  • Some extra code to work with Python2.7 / 3.6 / 3.7 / 3.8 / 3.10
  • Try to use Proactor event loop under Windows

ScreenShot

使用大字典,扫描qq.com

screenshot

Usage

Usage: subDomainsBrute.py [options] target.com

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -f FILE               File contains new line delimited subs, default is
                        subnames.txt.
  --full                Full scan, NAMES FILE subnames_full.txt will be used
                        to brute
  -i, --ignore-intranet
                        Ignore domains pointed to private IPs
  -w, --wildcard        Force scan after wildcard test failed
  -t THREADS, --threads=THREADS
                        Num of scan threads, 500 by default
  -p PROCESS, --process=PROCESS
                        Num of scan process, 6 by default
  --no-https            Disable get domain names from HTTPS cert, this can
                        save some time
  -o OUTPUT, --output=OUTPUT
                        Output file name. default is {target}.txt

Change Log

  • [2022-06-14] Version 1.5, some improvements
    • 增加支持通过HTTPS证书获取子域名
    • 更好的兼容性。使用 Python 2.7 / 3.6 / 3.7 / 3.8 / 3.10 测试
    • Windows下通过Proactor事件循环缓解进程句柄限制
  • [2022-05-06] 修复version check bug
  • [2020-10-29] 增加支持强制扫描泛解析的域名,需要加 -w 参数
  • [2020-10-26] 修复Windows下出现 too many file descriptors
  • [2020-05-05] 增加了Python3.5+支持。Python3执行效率更高
  • [2019-05-19]
    • Add wildcard test
    • Scan faster and more reliable, now can brute up to 3000 domains per second
  • [2018-02-06]
    • 添加多进程支持。 多进程 + 协程,提升扫描效率。
    • 预处理了原字典中的占位符,提升扫描效率
  • [2017-06-03] Bug fix: normal_lines remove deep copy issues, thanks @BlueIce
  • [2017-05-04] 使用协程替代多线程; 使用优化级队列减小队列长度; 优化占位符支持

subdomainsbrute's People

Contributors

lijiejie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

subdomainsbrute's Issues

520快乐

我是标题党... 报告一个异常现象
扫描qq.com,带上--full参数,扫描有点停不下来...
image
image
还有,默认开6个进程,CPU飚到100%,只能去小区爱的魔力转圈圈了。

关于域名泛解析的建议

大牛好!这个工具非常不错~
建议在爆破子域名的时候,可以增加泛解析的判断,区分域名被泛解析到同一IP,哪些不是。只保留不被泛解析的域名。^_^

线程默认是60,而且对线程的处理有一处小问题

def run(self):
self.start_time = time.time()
for i in range(self.threads_num):
t = threading.Thread(target=self._scan, name=str(i))
t.setDaemon(True)
t.start()
while self.thread_count > 1:
try:
time.sleep(1.0)
这儿的self.thread_count应该是self.thread_count > 0吧

请问这是什么情况?

SubDomainsBrute v1.3 https://github.com/lijiejie/subDomainsBrute
[+] Validate DNS servers
[+] Server 114.114.114.114 < OK > Found 2 Traceback (most recent call last):
File "subDomainsBrute.py", line 47, in
dns_servers = load_dns_servers()
File "D:\subDomainsBrute\lib\common_py3.py", line 48, in load_dns_servers
loop.run_until_complete(async_load_dns_servers(servers_to_test, dns_servers))
File "D:\python\python3\lib\asyncio\base_events.py", line 603, in run_until_complete
self.run_forever()
File "D:\python\python3\lib\asyncio\base_events.py", line 570, in run_forever
self._run_once()
File "D:\python\python3\lib\asyncio\base_events.py", line 1823, in _run_once
event_list = self._selector.select(timeout)
File "D:\python\python3\lib\selectors.py", line 323, in select
r, w, _ = self._select(self._readers, self._writers, [], timeout)
File "D:\python\python3\lib\selectors.py", line 314, in _select
r, w, x = select.select(r, w, w, timeout)
KeyboardInterrupt

利用脚本进行分布式爆破

机器上只执行一个,一个扫描完成后继续下一个字典
eg:python subdomainbrute.py -f list_1 xx.com
eg:python subdomainbrute.py -f list_2 xx.com
eg:python subdomainbrute.py -f list_3 xx.com
....
当执行一定数量后,报错
raised unexpected: OSError(12, 'Cannot allocate memory')

ps: 经检查发现是celery worker 占内存,不是脚本,故自己关闭

python3 cname获取错误

获取cname时候发现的
python运行的时候scanner_py3获取cname
answers = await self.resolvers[j].query(cur_domain, 'CNAME')
cname = answers[0].target.to_unicode().rstrip('.')
会报错
TypeError: 'ares_query_cname_result' object is not subscriptable
测试用这个可以解决
cname = answers.cname.rstrip('.')

Where is the program?

I am installing it with

pip install dnspython gevent without problems, but I am not seeing subDomainsBrute.py anywhere. Can you share how is it installed?

关于DNS服务器

默认DNS服务器建议设置为
cloudflare: 1.1.1.1 1.0.0.1
google: 8.8.8.8 8.8.4.4

Bug 扫描部分域名没有结果

如下:
1.python subDomainsBrute.py meizu.com
SubDomainsBrute v1.2
https://github.com/lijiejie/subDomainsBrute

[+] Validate DNS servers
[+] Server 119.29.29.29 < OK > Found 4
[+] 4 DNS Servers found
[+] Run wildcard test
any-sub.meizu.com 115.28.238.198

2.python subDomainsBrute.py meizu.cn
SubDomainsBrute v1.2
https://github.com/lijiejie/subDomainsBrute

[+] Validate DNS servers
[+] Server 114.114.114.114 < OK > Found 4
[+] 4 DNS Servers found
[+] Run wildcard test
any-sub.meizu.cn 115.28.238.198
3. python subDomainsBrute.py guahao.com
SubDomainsBrute v1.2
https://github.com/lijiejie/subDomainsBrute

[+] Validate DNS servers
[+] Server 114.114.114.114 < OK > Found 4
[+] 4 DNS Servers found
[+] Run wildcard test
any-sub.guahao.com 42.81.85.241, 42.81.92.60, 42.81.92.66

都没有结果 希望查明下原因

在windows 下的cmd 执行出错, 在powershell python.exe 一闪而过

你好, 我遇到了一下情况,不知道是哪里出错了, python 的环境变量是没有问题的 。
C:\软件包\subDomainsBrute-master>python subDomainsBrute.py baidu.com Traceback (most recent call last): File "subDomainsBrute.py", line 9, in <module> import gevent ImportError: No module named gevent

我确定不是中文路劲的问题。
如图

两个多线程的问题想请教前辈

2 为什么项目里不设计成deamon+Ctrl-C直接杀掉所有子线程,而是要等待子线程退出呢?
3 如果在子线程中调用了一个函数,想让这个函数超时return或者raise
考虑到import signal无法用于子线程,如果把函数扔进线程A里,再另开一个线程B做监控,超时之后杀A,这样线程数量开销较大.而且杀线程总怕影响到未释放的系统资源,有更好的方案吗?

期待大牛传授经验,谢啦^_^

mac上无法运行

ImportError: No module named dns.resolver
dns.resolver如何下载?

关于子域名爆破次序,提高效率的问题

lijiejie ~ 李哥哥,有点问题想请教一下
1、给定一个域名,比如说baidu.com, 您的代码中是爆破两级子域名,讲道理应该先爆破子一级域名,即sub.baidu.com, 得到一些有效的子域名列表【sub.baidu.com】之后,再爆破
next_sub.【sub.baidu.com】,得到所有一二级子域名,这样效率才会更高。
2、但我在您的代码中没有明显看到这样一个逻辑,你还提到“增加了占位符{next_sub}”, 认真阅读过您的代码,只在代码287行添加了{next_sub}, 在227行做了替换,而且还是测试一个“不存在的lijiejietest”, 这样好像之后会有更多的query, 我不太明白这样做的意图? 或许是想做一个这样的: {next_sub}.sub.baidu.com, 进行二级子域名检探测, 是想跟第1点一样吗?
烦请解答,多谢!

enhancement

Try to connect to spyse.com. I think it will help to get some speed improvement and gain more results

一个小问题

  1. 请问为啥要手动管理多进程,而不用进程池
  2. 写文件那块似乎可以用异步优化一下

域名泛解析

李姐姐,现在新版本有泛解析的问题。老版本都不会的
default

解析的域名不存在时,脚本速度慢

Traceback (most recent call last): File "<stdin>", line 1, in <module> File "D:\python27\lib\site-packages\dns\resolver.py", line 910, in query raise NXDOMAIN
当要解析的域名不存在时会出现这个异常,然后脚本就会重试6次, 就出现脚本跑一小会就不动了的情况

error Traceback (most recent call last):

python subDomainsBrute.py --full aaa.com

Traceback (most recent call last):
File "subDomainsBrute.py", line 9, in
import gevent
ImportError: No module named gevent

没找到 'dict/dns_servers.txt'

运行环境:win10, python2.7,安装了 dnspython 和 gevent
cmd运行:

  • subDomainsBrute.py --full target.com

报错:

Traceback (most recent call last):
File "D:\HackProgram\subDomainsBrute-master\subDomainsBrute.py", line 331, in
d = SubNameBrute(target=args[0], options=options)
File "D:\HackProgram\subDomainsBrute-master\subDomainsBrute.py", line 36, in init
self._load_dns_servers()
File "D:\HackProgram\subDomainsBrute-master\subDomainsBrute.py", line 58, in _load_dns_servers
for server in open('dict/dns_servers.txt').xreadlines():
IOError: [Errno 2] No such file or directory: 'dict/dns_servers.txt'

OSError: [Errno 9] Bad file descriptor All Done. 0 found, 0 scanned in 1.2 seconds

哎。
SubDomainsBrute v1.3 https://github.com/lijiejie/subDomainsBrute
[+] Validate DNS servers
[+] Server 182.254.116.116 < OK > Found 4
[+] 4 DNS Servers found
[+] Run wildcard test
[+] Start 6 scan process
[+] Please wait while scanning ...

[] 0 found, 0 scanned in 0.0 seconds, 0 groups left Process Process-2:
Traceback (most recent call last):
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "subDomainsBrute.py", line 35, in run_process
s.run()
File "/Users/iiiiii/Desktop/tools/subdomain/subDomainsBrute-master/lib/scanner_py3.py", line 201, in run
self.loop.run_until_complete(self.async_run())
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 571, in run_until_complete
self.run_forever()
Process Process-1:
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
self._run_once()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 1739, in _run_once
event_list = self._selector.select(timeout)
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/selectors.py", line 558, in select
kev_list = self._selector.control(None, max_ev, timeout)
OSError: [Errno 9] Bad file descriptor
Process Process-4:
Process Process-3:
Traceback (most recent call last):
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "subDomainsBrute.py", line 35, in run_process
s.run()
File "/Users/iiiiii/Desktop/tools/subdomain/subDomainsBrute-master/lib/scanner_py3.py", line 201, in run
self.loop.run_until_complete(self.async_run())
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 571, in run_until_complete
self.run_forever()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
self._run_once()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 1739, in _run_once
event_list = self._selector.select(timeout)
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/selectors.py", line 558, in select
kev_list = self._selector.control(None, max_ev, timeout)
OSError: [Errno 9] Bad file descriptor
Process Process-6:
Traceback (most recent call last):
Traceback (most recent call last):
Process Process-5:
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "subDomainsBrute.py", line 35, in run_process
s.run()
File "/Users/iiiiii/Desktop/tools/subdomain/subDomainsBrute-master/lib/scanner_py3.py", line 201, in run
self.loop.run_until_complete(self.async_run())
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 571, in run_until_complete
self.run_forever()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
self._run_once()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 1739, in _run_once
event_list = self._selector.select(timeout)
File "subDomainsBrute.py", line 35, in run_process
s.run()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/selectors.py", line 558, in select
kev_list = self._selector.control(None, max_ev, timeout)
File "/Users/iiiiii/Desktop/tools/subdomain/subDomainsBrute-master/lib/scanner_py3.py", line 201, in run
self.loop.run_until_complete(self.async_run())
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 571, in run_until_complete
self.run_forever()
OSError: [Errno 9] Bad file descriptor
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
self._run_once()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 1739, in _run_once
event_list = self._selector.select(timeout)
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/selectors.py", line 558, in select
kev_list = self._selector.control(None, max_ev, timeout)
OSError: [Errno 9] Bad file descriptor
Traceback (most recent call last):
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "subDomainsBrute.py", line 35, in run_process
s.run()
File "/Users/iiiiii/Desktop/tools/subdomain/subDomainsBrute-master/lib/scanner_py3.py", line 201, in run
self.loop.run_until_complete(self.async_run())
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 571, in run_until_complete
self.run_forever()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
self._run_once()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 1739, in _run_once
event_list = self._selector.select(timeout)
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/selectors.py", line 558, in select
kev_list = self._selector.control(None, max_ev, timeout)
OSError: [Errno 9] Bad file descriptor
Traceback (most recent call last):
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "subDomainsBrute.py", line 35, in run_process
s.run()
File "/Users/iiiiii/Desktop/tools/subdomain/subDomainsBrute-master/lib/scanner_py3.py", line 201, in run
self.loop.run_until_complete(self.async_run())
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 571, in run_until_complete
self.run_forever()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 539, in run_forever
self._run_once()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 1739, in _run_once
event_list = self._selector.select(timeout)
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/selectors.py", line 558, in select
kev_list = self._selector.control(None, max_ev, timeout)
OSError: [Errno 9] Bad file descriptor
All Done. 0 found, 0 scanned in 1.2 seconds.
Output file is qq.com.txt

ValueError: too many file descriptors in select()

2020年9月27日git新版subDomainBrute源码到本地测试。
python2测试:
环境:

  • Windows 10
  • python27
    安装dnspython和gevent模块后爆破baidu.com运行正常。
    python2

但是在python3测试时发生错误致使运行异常终止。
python3测试:
环境:

  • Windows 10
  • python38
    安装aiodns模块后爆破baidu.com,程序异常终止。
    python3

报错提示信息为:ValueError: too many file descriptors in select()
百度该类报错信息,推测可能是多线程并发执行未控制好。
请教那位师傅能具体说一下报错的原因及解决办法。

OSError: [Errno 9] Bad file descriptor

Darwin Kernel Version 18.7.0
When I run it, I get

Process Process-4:
Traceback (most recent call last):
File "/Users/boya/.pyenv/versions/3.7.6/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/Users/boya/.pyenv/versions/3.7.6/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "./subDomainsBrute.py", line 35, in run_process
s.run()
File "/Users/boya/workspace/hacker/subDomainsBrute/lib/scanner_py3.py", line 201, in run
self.loop.run_until_complete(self.async_run())
File "/Users/boya/.pyenv/versions/3.7.6/lib/python3.7/asyncio/base_events.py", line 570, in run_until_complete
self.run_forever()
File "/Users/boya/.pyenv/versions/3.7.6/lib/python3.7/asyncio/base_events.py", line 538, in run_forever
self._run_once()
File "/Users/boya/.pyenv/versions/3.7.6/lib/python3.7/asyncio/base_events.py", line 1746, in _run_once
event_list = self._selector.select(timeout)
File "/Users/boya/.pyenv/versions/3.7.6/lib/python3.7/selectors.py", line 558, in select
kev_list = self._selector.control(None, max_ev, timeout)
OSError: [Errno 9] Bad file descriptor

大字典不支持

试用 70M 的字典 程序直接被 Kill 了,应该是内存不足了,希望优化下

windows下用的cmder

Traceback (most recent call last):
File "subDomainsBrute.py", line 10, in
import gevent
File "C:\Python27\lib\site-packages\gevent_init_.py", line 51, in
from gevent.hub import get_hub, iwait, wait
File "C:\Python27\lib\site-packages\gevent\hub.py", line 13, in
from greenlet import greenlet as RawGreenlet, getcurrent, GreenletExit
ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。

bug?

$ python2 subDomainsBrute.py github.com --full                      SubDomainsBrute v1.2
  https://github.com/lijiejie/subDomainsBrute                                                                                       [+] Validate DNS servers                                          [+] Server 114.114.115.115  < OK >   Found 4                      [+] 4 DNS Servers found                                           Traceback (most recent call last):                                  File "subDomainsBrute.py", line 242, in <module>                    scan_count = multiprocessing.Value('i', 0)                      File "/data/data/com.termux/files/usr/lib/python2.7/multiprocessing/__init__.py", line 253, in Value
    return Value(typecode_or_type, *args, **kwds)
  File "/data/data/com.termux/files/usr/lib/python2.7/multiprocessing/sharedctypes.py", line 108, in Value                              lock = RLock()
  File "/data/data/com.termux/files/usr/lib/python2.7/multiprocessing/__init__.py", line 183, in RLock                                  return RLock()                                                  File "/data/data/com.termux/files/usr/lib/python2.7/multiprocessing/synchronize.py", line 172, in __init__                            SemLock.__init__(self, RECURSIVE_MUTEX, 1, 1)
  File "/data/data/com.termux/files/usr/lib/python2.7/multiprocessing/synchronize.py", line 75, in __init__                             sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)                                                            OSError: [Errno 38] Function not implemented
$

当做模块使用的时候,有问题

当做模块使用的时候,不能正常工作,大概看了一下,好像是代码第96行,d.resolvers是否应该是self.resolvers? 我这样改了之后可以正常工作。。

fix for termux please

error code Traceback (most recent call last):
File "subDomainsBrute.py", line 10, in
import gevent
ImportError: No module named gevent

结果有遗漏

800线程跑163.com的子域名的时候相同的字典(非默认)找到399个,而用dnsdict跑415个。

OSError: [Errno 9] Bad file descriptor

最新版本python3
python3 subDomainsBrute.py baidu.com
SubDomainsBrute v1.4 https://github.com/lijiejie/subDomainsBrute
[+] Validate DNS servers
[+] Server 182.254.116.116 < OK > Found 4
[+] 4 DNS Servers found
[+] Run wildcard test
[+] Start 6 scan process
[+] Please wait while scanning ...

[] 0 found, 0 scanned in 0.0 seconds, 0 groups left Process Process-1:
Process Process-2:
Traceback (most recent call last):
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "subDomainsBrute.py", line 34, in run_process
s.run()
File "/private/tmp/subDomainsBrute/lib/scanner_py3.py", line 213, in run
self.loop.run_until_complete(self.async_run())
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 574, in run_until_complete
self.run_forever()
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 541, in run_forever
self._run_once()
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 1750, in _run_once
event_list = self._selector.select(timeout)
Process Process-3:
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/selectors.py", line 558, in select
kev_list = self._selector.control(None, max_ev, timeout)
OSError: [Errno 9] Bad file descriptor
Traceback (most recent call last):
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "subDomainsBrute.py", line 34, in run_process
s.run()

有强迫症的我来请教一下

先反映一个疑似笔误的地方,在文件subDomainsBrute.py的第292行位置的d,应该是self吧。
d.resolvers[thread_id].query('lijiejietest.' + cur_sub_domain)
应该是:
self.resolvers[thread_id].query('lijiejietest.' + cur_sub_domain)
然后,我想请教一下,这里的查询lijiejietest.xxxx域名,这里的捕获NXDOMAIN的异常,是用来干什么的呢?不是很理解这里的思路呢?麻烦解答一下,十分感谢!!

求助:执行报错 149 行

python subDomainsBrute.py qq.com
File "subDomainsBrute.py", line 149
tmp_set = {sub}
^
SyntaxError: invalid syntax

EmptyLabel: A DNS label is empty.

[-] 0 found, 0 scanned in 4.5 seconds, 0 groups left Traceback (most recent call last):
File "subDomainsBrute.py", line 128, in scan
answers = self.resolvers[j].query(cur_domain)
Traceback (most recent call last):
File "subDomainsBrute.py", line 128, in scan
answers = self.resolvers[j].query(cur_domain)
File "/usr/local/lib/python2.7/dist-packages/dns/resolver.py", line 848, in query
qname = dns.name.from_text(qname, None)
File "/usr/local/lib/python2.7/dist-packages/dns/resolver.py", line 848, in query
qname = dns.name.from_text(qname, None)
File "/usr/local/lib/python2.7/dist-packages/dns/name.py", line 925, in from_text
raise EmptyLabel
File "/usr/local/lib/python2.7/dist-packages/dns/name.py", line 925, in from_text
raise EmptyLabel
EmptyLabel: A DNS label is empty.
EmptyLabel: A DNS label is empty.

劲洁兄,这个问题何解?

此工具在windows下使用,老是会出问题,兄弟可有解决办法?
dns
报错如图,我在win10及win7下均出现过此问题。win10 python2.7.10 x64位的。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.