|
1 | | -# Subprober - PyThon based Probing tool for urls and subdomains. |
| 1 | +# Subprober v1.0.3 - Fast Probing Tool for Penetration Testing |
2 | 2 |
|
3 | | -Subprober is a Python tool designed to efficiently probe and get essentials user desired data for list of urls and subdomains subdomains. It uses concurrent features to speed up the process |
4 | | -and users can define their preferred concurrency level to optimize the scanning speed and It probeds and get details for users that they desired by switching the flags for details.Support |
5 | | -this contribution by giving a ⭐ and show your ♥️! |
| 3 | +  [](https://github.com/sanjai-AK47/Subprober/blob/main/LICENSE) [](https://www.linkedin.com/in/d-sanjai-kumar-109a7227b/) |
6 | 4 |
|
7 | | -# Features |
| 5 | +### Overview |
8 | 6 |
|
9 | | -- Defaultly get the status codes for urls and subdomains |
10 | | -- Get server name of the web page |
11 | | -- Get title of the web page |
12 | | -- Get word count of web page |
13 | | -- Get application type of web page |
14 | | -- Concurrency built-in and user defined values for probing |
15 | | -- Match and Exclude for user desired status codes |
16 | | -- Verbose and concise flags for user desired console system for output |
17 | | -- Update system integrated for future updates |
18 | | -- Supports stdin and stdout to easily pipe to give input for Subprober |
19 | | -- Good colourised CLI interface consolings |
20 | | -- User defined or auto save are integrated |
21 | | -- Asynchronous probing with concurrency integrated |
22 | | -- Probes for http and https protocols for urls and subdomains |
23 | | -- Easy installation through pip |
| 7 | +Subprober v1.0.3 is a powerful and efficient tool designed for penetration testers and security professionals. This release introduces several enhancements, bug fixes, and new features to elevate your subdomain probing experience. Subprober facilitates fast and reliable information extraction, making it an invaluable asset for penetration testing workflows. |
24 | 8 |
|
25 | | -# Requirements |
| 9 | +### Features in V1.0.3: |
| 10 | +- Subprober logical bug has resolved . |
| 11 | +- Subprober accuracy in results are improved . |
| 12 | +- Now Subprober shows the progress of it task . |
| 13 | +- Concurrency has been improved . |
| 14 | +- Support only stdin . |
26 | 15 |
|
27 | | -- Subprober requires python 3.11.+ |
| 16 | +### Installation |
28 | 17 |
|
29 | | -# Installation : |
| 18 | +##### Method 1: |
30 | 19 |
|
31 | | -## Method 1: |
| 20 | +```bash |
| 21 | +pip install subprober |
| 22 | +``` |
32 | 23 |
|
33 | | -1. Clone the repository: |
| 24 | +#### Method 2: |
34 | 25 |
|
35 | 26 | ```bash |
36 | | - pip install subprober |
37 | | - subprober --help |
| 27 | +git clone https://github.com/sanjai-AK47/SubProber.git |
| 28 | +cd Subprober |
| 29 | +pip install . |
38 | 30 | ``` |
39 | | -If the pip Method installation not worked properly you can also install it thorugh Method 2 below. |
40 | 31 |
|
41 | | -## Method 2: |
| 32 | +### Help for Subprober: |
| 33 | + |
| 34 | +```yaml |
| 35 | +subprober -h |
| 36 | + |
| 37 | + |
| 38 | + _____ __ ____ __ |
| 39 | + / ___/__ __/ /_ / __ \_________ / /_ ___ _____ |
| 40 | + \__ \/ / / / __ \/ /_/ / ___/ __ \/ __ \/ _ \/ ___/ |
| 41 | + ___/ / /_/ / /_/ / ____/ / / /_/ / /_/ / __/ / |
| 42 | +/____/\__,_/_.___/_/ /_/ \____/_.___/\___/_/ |
| 43 | + |
| 44 | + |
| 45 | + |
| 46 | + Author : D.Sanjai Kumar @CyberRevoltSecurities |
| 47 | + |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | + |
| 52 | +Subprober - A Fast Probing Tool for Penetration testing |
| 53 | + |
| 54 | +[Description] : |
| 55 | + |
| 56 | + Subprober is a high-performance tool designed for probing and extract vital information efficiently. |
| 57 | + |
| 58 | +[Flags]: |
| 59 | + |
| 60 | + -f, --filename Specify the filename containing a list of subdomains for targeted probing. |
| 61 | + This flag is used to find and analyze status codes and other pertinent details. |
| 62 | + |
| 63 | + -h, --help Show this help message for you and exit! |
| 64 | + |
| 65 | + -u, --url Specify a target URL for direct probing. This flag allows for the extraction of |
| 66 | + status codes and other valuable information. |
| 67 | + |
| 68 | + -sp. --show-progress Enable show prgress mode which will show the progress of the Subprober with progress bar like this ( example: |████████████████████████████████████████| 4000/4000 [100%] in 12.4s (3.23/s) ). |
| 69 | +
|
| 70 | +
|
| 71 | + -o, --output Define the output filename to store the results of the probing operation. |
| 72 | + |
| 73 | + -c, --concurrency Set the concurrency level for multiple processes. Default is 10. |
| 74 | + |
| 75 | + -tl, --title Retrieve and display the title of subdomains. |
| 76 | + |
| 77 | + -to, --timeout Set a custom timeout value for sending requests. |
| 78 | + |
| 79 | + -sv, --server Identify and display the server information associated with subdomains. |
| 80 | + |
| 81 | + -wc, --word-count Retrieve and display the content length of subdomains. |
| 82 | + |
| 83 | + -apt, --application-type Determine and display the application type of subdomains. |
| 84 | + |
| 85 | + -ex, --exclude Exclude specific response status code(s) from the analysis. |
| 86 | + |
| 87 | + -mc, --match Specify specific response status code(s) to include in the analysis. |
| 88 | + |
| 89 | + -suo, --save-urls-only Save only URLs for particular status codes, excluding other information. |
| 90 | + |
| 91 | + -s, --silent Enable silent mode to suppress the display of Subprober banner and version information. |
| 92 | + |
| 93 | + -v, --verbose Enable verbose mode to display detailed results on the console. |
| 94 | + |
| 95 | + -cs, --concise Enable concise mode to display only timeout or request failure URLs or subdomains. |
| 96 | + |
| 97 | + -exs, --excluded-save Save the results of excluded status codes when the --exclude switch is enabled. |
| 98 | + |
| 99 | + -ums, --unmatch-save Save the results of unmatched status codes when the --match switch is enabled. |
| 100 | + |
| 101 | + -up, --update Update Subprober to the latest version through pip. |
| 102 | + |
| 103 | +[INFO]: |
| 104 | + |
| 105 | + subprober -f subdomains.txt -o output.txt -tl -wc -sv -v -apt -wc -ex 404 500 -suo 200 -v -o output.txt -c |
| 106 | + |
| 107 | + subprober -u https://example.com -c 20 -to 8 -tl -sv -wc -apt -ex 404 500 -suo 200 -v -o output.txt |
| 108 | + |
| 109 | + cat subdomains.txt | subprober -c 20 -to 8 -tl -sv -wc -apt -ex 404 500 -suo 200 -v -o output.txt |
42 | 110 |
|
43 | | -```bash |
44 | | - git clone https://github.com/sanjai-AK47/Subprober.git |
45 | | - cd Subprober |
46 | | - pip install . |
47 | | - subprober --help |
48 | 111 | ``` |
49 | 112 |
|
50 | | -## Usage |
| 113 | +### Usage Examples |
51 | 114 |
|
52 | | -Run Subprober from the command line with the following options: |
| 115 | +#### Basic Usage |
53 | 116 |
|
54 | 117 | ```bash |
55 | | -Usage: subprober [OPTIONS] |
56 | | - |
57 | | -Options: |
58 | | - -h, --help show this help message and exit |
59 | | - -f FILENAME, --filename FILENAME |
60 | | - [INFO]: A filename that contains list of subdomains to probe and find status codes and other informations |
61 | | - -u URL, --url URL [INFO]: A url to probe to find status codes and other informations |
62 | | - -o OUTPUT, --output OUTPUT |
63 | | - [INFO]: Filename to write the output |
64 | | - -c CONCURRENCY, --concurrency CONCURRENCY |
65 | | - [INFO]: Concurrency level for Multiple process |
66 | | - -tl, --title [INFO]: Get Title of subdomains |
67 | | - -sv, --server [INFO]: Get server of subdomains |
68 | | - -wc, --word-count [INFO]: Get content length of subdomains |
69 | | - -apt, --application-type |
70 | | - [INFO]: Get application type of subdomains |
71 | | - -ex [EXCLUDE ...], --exclude [EXCLUDE ...] |
72 | | - [INFO]: Exclude the particular response status code |
73 | | - -mc [MATCH ...], --match [MATCH ...] |
74 | | - [INFO]: the particular response status code |
75 | | - -suo [SAVE_URLS_ONLY ...], --save-urls-only [SAVE_URLS_ONLY ...] |
76 | | - [INFO]: Save only urls for particular status codes instead of other informations |
77 | | - -s, --silent [INFO]: Switching silent will not print Subprober banner and version |
78 | | - -v, --verbose [INFO]: Switching Verbose to console the results |
79 | | - -cs, --concise [INFO]: Switching Consice to console time out or request failured urls or subdomains |
80 | | - -exs, --excluded-save |
81 | | - [INFO]: Switching Exluded save the excluded status codes results when --exclude switch is enabled |
82 | | - -ums, --unmatch-save [INFO]: Switching Unmatch save the Unmatched status codes results when --match switch is enabled |
83 | | - -up, --update [INFO]: Update the Subprober to latest version through pip |
84 | | - Show this message and exit. |
| 118 | +subprober -f subdomains.txt -o output.txt -tl -wc -sv -v -apt -wc -ex 404 500 -suo 200 -v -o output.txt -c |
85 | 119 | ``` |
86 | 120 |
|
87 | | -- `-f` or `--filename`: Specify the file containing the list of subdomains to check. |
88 | | -- `-c` or `--concurrency`: Set the concurrency level. Higher values increase scanning speed, but use it cautiously to avoid overloading the target server. |
89 | | -- `-v` or `--verbose`: Print detailed output while scanning. |
90 | | -- `c` or `--concise` : Print the timeout errored urls and subdomains. |
91 | | -- `-s` or `--silent` : Silent swtich doesn't console the banner and version. |
92 | | -- `tl` or `--title` : Get the Title of the web page that probes. |
93 | | -- `-sv` or `--server` : Get the Server name of the web page that probes. |
94 | | -- `wc` or `--word-coubt` : Get the word count of the web page that probes. |
95 | | -- `apt` or `--application-type`: Get the application type of the web page that probes. |
96 | | -- `mc` or `--match` : The Match flag will help to print and save only user desired status coded results. |
97 | | -- `ums` or `ums` : This flag is used when user uses `-mc` flag to print particular results but when user when users want also save the unmatched urls this flag can be used. |
98 | | -- `-ex` or `--exclude` : Exclude and not console and save the output. |
99 | | -- `-exs` or `--excluded-save` : Swtiching these flags will help to save excluded satus code results when user desired not to print the excluded url but to save the results. |
100 | | -- `-o` or `--output`: Save the output to a file. |
101 | | -- `-up` or `--update`: Update the Subprober to the latest version. |
102 | | - |
103 | | -## Run Subprber through flags: |
| 121 | +### Direct URL Probing |
104 | 122 |
|
105 | 123 | ```bash |
106 | | - subprober -f subdomains.txt -c 20 -o results.txt --verbose --title --server --application-type --word-count -mc 200 301 302 |
| 124 | +subprober -u https://example.com -c 20 -to 8 -tl -sv -wc -apt -ex 404 500 -suo 200 -v -o output.txt |
107 | 125 | ``` |
108 | 126 |
|
109 | | -###### [INFO]: Subprober prefered concurrency rate is 20 which very efficient to run and get accurate results also avoids rate limiting |
| 127 | +### Piping Subdomains |
110 | 128 |
|
111 | | -## Run Subprober thorugh pipe : |
112 | 129 | ```bash |
113 | | - subprober --verbose -c 20 -o results.txt --verbose --title --server --application-type --word-count -mc 200 301 302 |
| 130 | +cat subdomains.txt | subprober -c 20 -to 8 -tl -sv -wc -apt -ex 404 500 -suo 200 -v -o output.txt |
114 | 131 | ``` |
115 | 132 |
|
116 | | -# Sample Image of Subprober: |
| 133 | +## Flags and Options |
| 134 | + |
| 135 | +### Basic Flags |
| 136 | + |
| 137 | +- **-f, --filename**: Specify the filename containing a list of subdomains for targeted probing. |
| 138 | + |
| 139 | +- **-h, --help**: Show the help message and exit. |
| 140 | + |
| 141 | +- **-u, --url**: Specify a target URL for direct probing. |
| 142 | + |
| 143 | +- **-sp, --show-progress**: Enable show progress mode to display a progress bar. |
| 144 | + |
| 145 | +- **-o, --output**: Define the output filename to store the results. |
| 146 | + |
| 147 | +### Advanced Flags |
| 148 | + |
| 149 | +- **-c, --concurrency**: Set the concurrency level for multiple processes. Default is 10. |
| 150 | + |
| 151 | +- **-tl, --title**: Retrieve and display the title of subdomains. |
| 152 | + |
| 153 | +- **-to, --timeout**: Set a custom timeout value for sending requests. |
| 154 | + |
| 155 | +- **-sv, --server**: Identify and display the server information associated with subdomains. |
| 156 | + |
| 157 | +- **-wc, --word-count**: Retrieve and display the content length of subdomains. |
| 158 | + |
| 159 | +- **-apt, --application-type**: Determine and display the application type of subdomains. |
| 160 | + |
| 161 | +- **-ex, --exclude**: Exclude specific response status code(s) from the analysis. |
| 162 | + |
| 163 | +- **-mc, --match**: Specify specific response status code(s) to include in the analysis. |
| 164 | + |
| 165 | +- **-suo, --save-urls-only**: Save only URLs for particular status codes, excluding other information. |
| 166 | + |
| 167 | +- **-s, --silent**: Enable silent mode to suppress the display of Subprober banner and version information. |
| 168 | + |
| 169 | +- **-v, --verbose**: Enable verbose mode to display detailed results on the console. |
| 170 | + |
| 171 | +- **-cs, --concise**: Enable concise mode to display only timeout or request failure URLs or subdomains. |
| 172 | + |
| 173 | +- **-exs, --excluded-save**: Save the results of excluded status codes when the --exclude switch is enabled. |
| 174 | + |
| 175 | +- **-ums, --unmatch-save**: Save the results of unmatched status codes when the --match switch is enabled. |
| 176 | + |
| 177 | +- **-up, --update**: Update Subprober to the latest version through pip. |
| 178 | + |
| 179 | +### License |
| 180 | + |
| 181 | +Subprober is open-source software licensed under the MIT License. See the [LICENSE](https://github.com/sanjai-AK47/Subprober/blob/main/LICENSE) file for details. |
| 182 | + |
| 183 | +### Contributing |
| 184 | + |
| 185 | +Contributions are welcome! Feel free to open issues or submit pull requests to help improve Subprober. |
| 186 | + |
| 187 | + |
| 188 | +### Sample Usage of Subprober: |
117 | 189 |  |
118 | 190 |
|
119 | | -## Information: |
| 191 | +### Information: |
120 | 192 | This tool is developed by [D.Sanjai Kumar](https://www.linkedin.com/in/d-sanjai-kumar-109a7227b/) for support the open source community for CyberSecurity and Ethical Hacking and |
121 | 193 | The Subprober is built for reconnaissance and ethical hacking purposes and developer is not responsible for any unethical purposes so |
122 | 194 | please use the Subprober with responsible and Ethically . Happy Hacking Hackers you can support my contribution by giving a ⭐ to the Subprober which motivate me to develop more like this ♥️. |
|
0 commit comments