https://github.com/gionniboy/howisresolved
how is resolved a given domain from differents nameservers
https://github.com/gionniboy/howisresolved
dns monitoring nameserver networking python
Last synced: 8 months ago
JSON representation
how is resolved a given domain from differents nameservers
- Host: GitHub
- URL: https://github.com/gionniboy/howisresolved
- Owner: gionniboy
- License: bsd-3-clause
- Created: 2018-01-28T23:46:52.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T02:03:46.000Z (over 3 years ago)
- Last Synced: 2025-04-03T10:22:51.477Z (over 1 year ago)
- Topics: dns, monitoring, nameserver, networking, python
- Language: Python
- Size: 77.1 KB
- Stars: 8
- Watchers: 3
- Forks: 3
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.org/gionniboy/howisresolved)
[](https://codeclimate.com/github/gionniboy/howisresolved/maintainability)
[](https://codeclimate.com/github/gionniboy/howisresolved/test_coverage)
[](https://pyup.io/repos/github/gionniboy/howisresolved/)
[](https://pyup.io/repos/github/gionniboy/howisresolved/)
# **howisresolved**
how is resolved is a little python script to resolve a domain from differents nameservers.
### **how it works**
DNS list is passed with a simple txt file.
By default it is dnslist.txt and contain six major dns.
- 1.1.1.1 - CloudFlare
- 4.2.2.1 - Level3
- 8.8.8.8 - Google
- 9.9.9.9 - Quad9
- 64.6.64.6 - Verisign
- 208.67.222.222 - OpenDNS
If the dnsfile.txt is not present the script download a list of valid nameservers from [public-dns.info](https://public-dns.info/).
An output on logfile is generated.
On cli too if debug is active. [check logging.json]
**Python3 required**.
### To the Users
Install dependencies using Pipenv.
```console
$ pipenv --three install
```
For a bit of info
```console
$ pipenv run python howisresolved.py --help
```
#### Example
```console
$ pipenv run python howisresolved.py --domain python.org --expect 23.253.135.79
$ pipenv run python howisresolved.py --domain python.org --dnsfile dnslist.txt --dnsrand 6 --expect 23.253.135.79
$ pipenv run python howisresolved.py --domain python.org --dnsrand 6 --expect 23.253.135.79
random nameserver: ['4.2.2.1', '8.8.8.8', '9.9.9.9', '1.1.1.1', '208.67.222.222', '64.6.64.6']
python.org IP 23.253.135.79 resolved by 4.2.2.1
python.org IP 23.253.135.79 resolved by 8.8.8.8
python.org IP 23.253.135.79 resolved by 9.9.9.9
python.org IP 23.253.135.79 resolved by 1.1.1.1
python.org IP 23.253.135.79 resolved by 208.67.222.222
python.org IP 23.253.135.79 resolved by 64.6.64.6
```
## To Contributors
Install dev dipendencies to avoid useless issues.
```console
$ pipenv --three install -d
```
To launch tests with coverage
```console
$ pipenv run pytest -v --cov=./
```
or use pipenv shortcut
```console
$ pipenv run tests
```
issue&&PR || GTFO
enjoy.
### **License**
This project is licensed under the BSD 3-Clause License - see the [LICENSE](LICENSE) file for details