> For the complete documentation index, see [llms.txt](https://riteshs4hu.gitbook.io/infosec-notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://riteshs4hu.gitbook.io/infosec-notes/internal-and-external-network-sec/enumeration/web-enumeration/tools/fuzzing/gobuster.md).

# gobuster

`gobuster` is a fast brute-force tool written in Go, used to enumerate hidden web directories and files, DNS subdomains, virtual hosts, and S3 buckets. It supports multiple modes such as **dir**, **dns**, **vhost**, and **s3**.

***

#### Default Configuration

| Setting                | Default Value                                   |
| ---------------------- | ----------------------------------------------- |
| **Mode**               | Must be specified (e.g., `dir`, `dns`, `vhost`) |
| **Wordlist**           | None (must be provided with `-w`)               |
| **Threads**            | 10                                              |
| **Timeout**            | 10 seconds                                      |
| **HTTP Method**        | GET                                             |
| **Status Codes Shown** | 200, 204, 301, 302, 307, 401, 403               |
| **User-Agent**         | `gobuster/3.x`                                  |
| **Recursive**          | Not supported natively in `dir` mode            |

***

#### Syntax

```bash
gobuster [mode] -u <URL> -w <wordlist> [options]
```

***

#### Examples:-

**Directory Mode (`dir`)**

* **Basic directory scan**

```bash
gobuster dir -u http://example.com -w /path/to/wordlist.txt
```

* **Scan with specific extensions**

```bash
gobuster dir -u http://example.com -w /path/to/wordlist.txt -x php,html,js
```

* **Filter specific status codes**

```bash
gobuster dir -u http://example.com -w /path/to/wordlist.txt --exclude-status 404
```

* **Set the number of threads**

```bash
gobuster dir -u http://example.com -w /path/to/wordlist.txt -t 50
```

* **Use a proxy**

```bash
gobuster dir -u http://example.com -w /path/to/wordlist.txt --proxy http://127.0.0.1:8080
```

* **Output to a file**

```bash
gobuster dir -u http://example.com -w /path/to/wordlist.txt -o results.txt
```

**DNS Mode (`dns`)**

* **DNS subdomain enumeration**

```bash
gobuster dns -d example.com -w /path/to/subdomains.txt
```

**VHost Mode (`vhost`)**

* **Virtual host discovery**

```bash
gobuster vhost -u http://example.com -w /path/to/vhosts.txt
```
