Files
Bash-Scripts/README.md
T

120 lines
2.7 KiB
Markdown

# DNS Performance Test Script
This PowerShell script measures DNS query response times for a list of domains and outputs the results into a CSV file along with basic statistics.
## 📋 Table of Contents
* [Parameters](#-parameters)
* [Installation](#-installation)
* [Output](#-output)
* [Statistics](#-statistics)
* [Example](#-example)
* [License](#-license)
* [Author](#-author)
---
## ✅ Requirements
* PowerShell 5.1 or higher
* Read access to a text file containing the list of domains (default: `Domains.txt`)
---
## ⚙️ Parameters
| Parameter | Type | Default | Description |
| ------------------- | -------- | ------------- | ---------------------------------- |
| `$DnsServer` | `string` | `1.1.1.1` | DNS server to query |
| `$QueriesPerDomain` | `int` | `3` | Number of queries per domain |
| `$DomainsFile` | `string` | `Domains.txt` | Path to the text file with domains |
| `$ResultsFile` | `string` | `Results.csv` | Path for the output CSV file |
---
## 📥 Installation
1. Download or copy the script into a `.ps1` file.
2. Adjust the parameters (especially file paths) if necessary.
3. Create a `Domains.txt` file in the script directory and list the domains you want to test.
---
## ▶️ Usage
```powershell
# Run with default parameters
.\DNSPerformanceTest.ps1
# Run with custom parameters
dotnet-script DNSPerformanceTest.ps1 \
-DnsServer "1.1.1.1" \
-QueriesPerDomain 3 \
-DomainsFile "Domains.txt" \
-ResultsFile "Results.csv"
```
---
## 📄 Output
* **CSV file** (`$ResultsFile`) with columns:
* `domain` — the queried domain name
* `query` — the iteration number of the query
* `response_ms` — response time in milliseconds, or `ERR` if the query failed
* **Console output** showing each query result and final statistics.
---
## 📊 Statistics
At the end of the script run, it prints:
* **Average**: average response time (ms)
* **Shortest**: fastest response time (ms)
* **Longest**: slowest response time (ms)
---
## 📑 Example
```powershell
# Content of Domains.txt:
example.com
microsoft.com
# Execute the script
.\v1.ps1
# Sample console output:
[example.com] Query 1: 23.45 ms
[example.com] Query 2: 22.87 ms
[example.com] Query 3: 24.12 ms
...
==== Stats ====
Average: 23.48 ms
Shortest: 22.87 ms
Longest: 24.12 ms
```
---
## 📝 License
This script is licensed under the MIT License. See [LICENSE](LICENSE) for details.
---
## 👤 Contributors
- [Julian Lechner - FrauJulian](https://fraujulian.xyz)
---
## 🤝 Enjoy?
Give it a star ⭐ on [github](https://github.com/FrauJulian/DNS-Tester)!
### Greetings from Austria! ⛰️