Crates.io | dnstracer |
lib.rs | dnstracer |
version | |
source | src |
created_at | 2024-10-14 06:57:21.768069 |
updated_at | 2024-12-04 15:36:23.729961 |
description | A DNS traceroute tool |
homepage | https://gitlab.com/mat813/dnstracer-rs |
repository | https://gitlab.com/mat813/dnstracer-rs |
max_upload_size | |
id | 1408010 |
Cargo.toml error: | TOML parse error at line 17, column 1 | 17 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
dnstracer
is a Rust-based implementation of dnstracer
, a DNS tracing tool that follows the chain of DNS servers responsible for resolving a domain name. It helps trace the delegation path from the root DNS servers down to the authoritative servers for a specific domain.
Clone the repository and build the project using cargo
:
cargo install dnstracer
Once built, you can run dnstracer-rs
from the target directory:
dnstracer [options] <domain>
dnstracer example.com
This will trace the DNS delegation for the domain example.com
, showing the path of DNS servers involved in the resolution.
dnstracer [OPTIONS] <domain>
-c
, --no-positive-cache
-C
, --negative-cache
-e
, --edns0
-o
, --overview
-q
, --query-type <QUERY_TYPE>
-r
, --retries <RETRIES>
-s
, --server <SERVER>
.
is specified, A.ROOT-SERVERS.NET will be used [default: .]-t
, --timeout <TIMEOUT>
-S
, --source-address <SOURCE_ADDRESS>
-6
, --ipv6
-4
, --ipv4
-T
, --tcp
-h
, --help
-V
, --version
dnstracer
provides detailed output for each DNS server in the delegation chain:
$ dnstracer www.example.com -o
Tracing to www.example.com[A] via A.ROOT-SERVERS.NET. (198.41.0.4), maximum of 3 retries
A.ROOT-SERVERS.NET. [.] (198.41.0.4)
|\___ a.gtld-servers.net. [com] (192.5.6.30)
| |\___ ns1.example.com. [example.com] (192.0.2.1) found authoritative answer
| |\___ ns2.example.com. [example.com] (198.51.100.1) found authoritative answer
| \___ ns2.example.com. [example.com] (2001:db8::1) found authoritative answer
|\___ a.gtld-servers.net. [com] (2001:503:a83e::2:30)
| |\___ ns1.example.com. [example.com] (192.0.2.1) (cached)
| |\___ ns2.example.com. [example.com] (198.51.100.1) (cached)
| \___ ns2.example.com. [example.com] (2001:db8::1) (cached)
|\___ b.gtld-servers.net. [com] (192.33.14.30)
...
ns1.example.com. (192.0.2.1) www.example.com. 86400 IN A 203.0.113.1
ns2.example.com. (198.51.100.1) www.example.com. 86400 IN A 203.0.113.1
ns2.example.com. (2001:db8::1) www.example.com. 86400 IN A 203.0.113.1
git checkout -b feature/your-feature
).git commit -am 'Add some feature'
).git push origin feature/your-feature
).This project is licensed under the MIT License. See the LICENSE file for more details.