- Update to version 2.6.0
* Add support for DNS over QUIC (DoQ) protocol. * Lower dependency version requirement to improve compatibility. * Other various bug fixes. OBS-URL: https://build.opensuse.org/package/show/network/dnsdiag?expand=0&rev=16
This commit is contained in:
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.osc
|
3
dnsdiag-2.5.0.tar.gz
Normal file
3
dnsdiag-2.5.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7c5faa9d7c43ff8483c316f0b5adfd68950ae121c2861c92ec13c763fbdd29a5
|
||||
size 18871
|
3
dnsdiag-2.6.0.tar.gz
Normal file
3
dnsdiag-2.6.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2f96fff1dd47816ac937abaa129dfdf561c739f01be0246083b84057371d76e1
|
||||
size 19424
|
109
dnsdiag.changes
Normal file
109
dnsdiag.changes
Normal file
@@ -0,0 +1,109 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Oct 26 19:31:45 UTC 2024 - Martin Hauke <mardnh@gmx.de>
|
||||
|
||||
- Update to version 2.6.0
|
||||
* Add support for DNS over QUIC (DoQ) protocol.
|
||||
* Lower dependency version requirement to improve compatibility.
|
||||
* Other various bug fixes.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 20 12:16:30 UTC 2024 - Martin Hauke <mardnh@gmx.de>
|
||||
|
||||
- Update to version 2.5.0
|
||||
* Add RFC5001 NSID support (-n or --nsid).
|
||||
* Display RFC8914 Extended DNS Errors when available (-E or --ede)
|
||||
* Add ability to override default RR class (-C or --class).
|
||||
* Display response TTL if applicable (-L or --ttl).
|
||||
* Display first answer in RRSET, when available (-a or --answer).
|
||||
* Add -x to display extra/expert information, implying Flags, EDE
|
||||
and TTL.
|
||||
* Display EDNS flags alongside other response flags, when available
|
||||
* Always display RCODE with responses.
|
||||
* Add more resolvers to the default list.
|
||||
* Lots of bug fixes and UX improvements.
|
||||
* Change default behavior of --edns to disabled by default.
|
||||
* Always display flags in brackets.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Feb 4 15:41:21 UTC 2023 - Martin Hauke <mardnh@gmx.de>
|
||||
|
||||
- Update to version 2.1.0
|
||||
* Add -m flag to enforce cache-miss
|
||||
* Add -r flag to clear RD flag (disable recursion)
|
||||
* Remove support for python 3.4 - 3.6
|
||||
* Other minor quality of life improvements
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu May 13 13:47:08 UTC 2021 - Martin Hauke <mardnh@gmx.de>
|
||||
|
||||
- Update to version 2.0.2
|
||||
* Bugfix release
|
||||
- Update to version 2.0.1
|
||||
* Add support for DNSSEC
|
||||
* Add -F to display flags for each response (dnsping)
|
||||
* Display full response in verbose mode (dnsping)
|
||||
* Add DoT (DNS over TLS) support (dnsping, dnseval)
|
||||
* Add DoH (DNS over HTTPS) support (dnsping, dnseval)
|
||||
* Add TCP support
|
||||
* Improved JSON output support for dnseval
|
||||
* Refactor and PEP8 cleanup
|
||||
* Do not use system resolver when not needed
|
||||
* Add support for user defined source IP address
|
||||
* Add user-specified destination port (-p/--port)
|
||||
* Improve error handling
|
||||
* Display last response code for each entry
|
||||
* Rework custom socket and custom TTL support
|
||||
* Rework time calculation logic to eliminate an extra DNS
|
||||
request that was just sent for timing (dnstraceroute)
|
||||
* Update docs (output samples, use cases, etc)
|
||||
* Use proper terminology (in code) to reduce confusion
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Apr 4 20:13:35 UTC 2021 - Martin Hauke <mardnh@gmx.de>
|
||||
|
||||
- Update to version 2.0.0
|
||||
* Add support for DNSSEC
|
||||
* Add -F to display flags for each response (dnsping)
|
||||
* Display full response in verbose mode (dnsping)
|
||||
* Add DoT (DNS over TLS) support (dnsping, dnseval)
|
||||
* Add DoH (DNS over HTTPS) support (dnsping, dnseval)
|
||||
* Add TCP support
|
||||
* Refactor and PEP8 cleanup
|
||||
* Do not use system resolver when not needed
|
||||
* Add support for user defined source IP address
|
||||
* Add user-specified destination port (-p/--port)
|
||||
* Improve error handling
|
||||
* Display last response code for each entry
|
||||
* Rework custom socket and custom TTL support
|
||||
* Rework time calculation logic to eliminate an extra DNS
|
||||
request that was just sent for timing (dnstraceroute)
|
||||
* Update docs (output samples, use cases, etc)
|
||||
* Use proper terminology (in code) to reduce confusion
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jan 19 16:06:15 UTC 2020 - Martin Hauke <mardnh@gmx.de>
|
||||
|
||||
- Update to version 1.7.0
|
||||
* Add JSON export
|
||||
* Ignore unrelated ICMP messages
|
||||
* Fix statistics calculation
|
||||
* -c 0 for infinite ping
|
||||
* Flush output messages
|
||||
* Update sample public resolver data
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 9 15:32:34 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Generalize description. Fix a few missing words.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 2 19:04:28 UTC 2019 - Sebastian Wagner <sebix+novell.com@sebix.at>
|
||||
|
||||
- rename to dnsdiag instead of python-dnsdiag
|
||||
- Update to version 1.6.4:
|
||||
* no upstream changelog available
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 3 07:59:09 UTC 2017 - mardnh@gmx.de
|
||||
|
||||
- Initial package, version 1.6.3
|
96
dnsdiag.spec
Normal file
96
dnsdiag.spec
Normal file
@@ -0,0 +1,96 @@
|
||||
#
|
||||
# spec file for package dnsdiag
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2017-2024, Martin Hauke <mardnh@gmx.de>
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%bcond_without test
|
||||
Name: dnsdiag
|
||||
Version: 2.6.0
|
||||
Release: 0
|
||||
Summary: DNS request auditing toolset
|
||||
License: BSD-3-Clause
|
||||
Group: Development/Languages/Python
|
||||
#Git-Clone: https://github.com/farrokhi/dnsdiag.git
|
||||
URL: https://dnsdiag.org/
|
||||
Source: https://files.pythonhosted.org/packages/source/d/dnsdiag/dnsdiag-%{version}.tar.gz
|
||||
Source1: dnseval.1
|
||||
Source2: dnsping.1
|
||||
Source3: dnstraceroute.1
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
BuildRequires: python3-setuptools
|
||||
Requires: python3-cryptography >= 42.0.5
|
||||
Requires: python3-cymruwhois >= 1.6
|
||||
Requires: python3-dnspython >= 2.6.1
|
||||
Requires: python3-h2 >= 4.1.0
|
||||
Requires: python3-httpx >= 0.27.0
|
||||
BuildArch: noarch
|
||||
%if %{with test}
|
||||
BuildRequires: python3-cymruwhois >= 1.6
|
||||
BuildRequires: python3-dnspython >= 2.6.1
|
||||
%endif
|
||||
|
||||
%description
|
||||
A set of tools to perform basic audits on DNS requests and responses
|
||||
to make sure DNS is working as expected. Dnsping can be used to
|
||||
measure the response time of a given DNS server for arbitrary
|
||||
requests. Just like a traditional ping utility, it provides similar
|
||||
functionality for DNS requests.
|
||||
|
||||
Dnstraceroute can be used to trace the path a DNS request takes to
|
||||
its destination. Its purpose is to detect whether a request is
|
||||
redirected or hijacked. This can be done by comparing different DNS
|
||||
queries being sent to the same DNS server using dnstraceroute and
|
||||
observe if there is any difference between the path.
|
||||
|
||||
dnseval evaluates multiple DNS resolvers and helps choosing the best
|
||||
DNS server for the network. It is recommended to use one's own DNS
|
||||
resolver as opposed to a third-party DNS server. dnseval can compare
|
||||
different DNS servers from a performance (latency) and reliability
|
||||
(loss) point of view for when DNS forwarders need to be used instead
|
||||
of a resolver.
|
||||
|
||||
%prep
|
||||
%setup -q -n dnsdiag-%{version}
|
||||
sed -e '/^#!\//, 1d' -i util/*.py
|
||||
|
||||
%build
|
||||
%python3_build
|
||||
|
||||
%install
|
||||
%python3_install
|
||||
%fdupes %{buildroot}%{python3_sitelib}
|
||||
mv %{buildroot}%{_bindir}/dnseval.py %{buildroot}%{_bindir}/dnseval
|
||||
mv %{buildroot}%{_bindir}/dnstraceroute.py %{buildroot}%{_bindir}/dnstraceroute
|
||||
mv %{buildroot}%{_bindir}/dnsping.py %{buildroot}%{_bindir}/dnsping
|
||||
install -d -m0755 %{buildroot}%{_mandir}/man1/
|
||||
install -m0644 %{SOURCE1} %{buildroot}%{_mandir}/man1/
|
||||
install -m0644 %{SOURCE2} %{buildroot}%{_mandir}/man1/
|
||||
install -m0644 %{SOURCE3} %{buildroot}%{_mandir}/man1/
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%{_bindir}/dnseval
|
||||
%{_bindir}/dnstraceroute
|
||||
%{_bindir}/dnsping
|
||||
%{_mandir}/man1/dnseval.1%{?ext_man}
|
||||
%{_mandir}/man1/dnstraceroute.1%{?ext_man}
|
||||
%{_mandir}/man1/dnsping.1%{?ext_man}
|
||||
%{python3_sitelib}/*
|
||||
|
||||
%changelog
|
41
dnseval.1
Normal file
41
dnseval.1
Normal file
@@ -0,0 +1,41 @@
|
||||
.\" (C) Copyright 2016 Ana Custura <ana@netstat.org.uk>
|
||||
.TH DNSEVAL "1" "December 3 2016" "User Commands"
|
||||
.SH NAME
|
||||
dnseval: \- bulk ping utility that sends an arbitrary DNS query to a list of DNS servers
|
||||
.SH DESCRIPTION
|
||||
dnseval is a bulk ping utility that sends an arbitrary DNS query to a given list of DNS servers. This script is meant for comparing response time of multiple DNS servers at once
|
||||
.SH USAGE
|
||||
usage: dnseval [\-h] [\-f server\-list] [\-c count] [\-t type] [\-w wait] hostname
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\fB\-h\fR \fB\-\-help\fR
|
||||
show this help
|
||||
.TP
|
||||
\fB\-f\fR \fB\-\-file\fR
|
||||
dns server list to use (default: system resolvers)
|
||||
.TP
|
||||
\fB\-c\fR \fB\-\-count\fR
|
||||
number of requests to send (default: 10)
|
||||
.TP
|
||||
\fB\-w\fR \fB\-\-wait\fR
|
||||
maximum wait time for a reply (default: 5)
|
||||
.TP
|
||||
\fB\-t\fR \fB\-\-type\fR
|
||||
DNS request record type (default: A)
|
||||
.TP
|
||||
\fB\-h\fR \fB\-\-help\fR
|
||||
show this help
|
||||
.TP
|
||||
\fB\-f\fR \fB\-\-file\fR
|
||||
dns server list to use (default: system resolvers)
|
||||
.TP
|
||||
\fB\-c\fR \fB\-\-count\fR
|
||||
number of requests to send (default: 10)
|
||||
.TP
|
||||
\fB\-w\fR \fB\-\-wait\fR
|
||||
maximum wait time for a reply (default: 5)
|
||||
.TP
|
||||
\fB\-t\fR \fB\-\-type\fR
|
||||
DNS request record type (default: A)
|
||||
.SH "SEE ALSO"
|
||||
The full documentation for dnseval can be found at https://dnsdiag.org/
|
52
dnsping.1
Normal file
52
dnsping.1
Normal file
@@ -0,0 +1,52 @@
|
||||
.\" (C) Copyright 2016 Ana Custura <ana@netstat.org.uk>
|
||||
.TH DNSPING "1" "December 3 2016" "User Commands"
|
||||
.SH NAME
|
||||
dnsping \- DNS ping utility
|
||||
.SH DESCRIPTION
|
||||
dnsping pings a DNS resolver by sending an arbitrary DNS query for given number of times.
|
||||
It calculates minimum, maximum and average response time as well as jitter (stddev).
|
||||
.SH USAGE
|
||||
usage: dnsping [\-h] [\-q] [\-v] [\-s server] [\-p port] [\-P port] [\-S address] [\-c count] [\-t type] [\-w wait] hostname
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\fB\-h\fR \fB\-\-help\fR
|
||||
Show this help
|
||||
.TP
|
||||
\fB\-q\fR \fB\-\-quiet\fR
|
||||
Quiet
|
||||
.TP
|
||||
\fB\-v\fR \fB\-\-verbose\fR
|
||||
Print actual dns response
|
||||
.TP
|
||||
\fB\-s\fR \fB\-\-server\fR
|
||||
DNS server to use (default: first entry from \fI\,/etc/resolv.conf\/\fP)
|
||||
.TP
|
||||
\fB\-p\fR \fB\-\-port\fR
|
||||
DNS server port number (default: 53)
|
||||
.TP
|
||||
\fB\-T\fR \fB\-\-tcp\fR
|
||||
Use TCP instead of UDP
|
||||
.TP
|
||||
\fB\-4\fR \fB\-\-ipv4\fR
|
||||
Use IPv4 as default network protocol
|
||||
.TP
|
||||
\fB\-6\fR \fB\-\-ipv6\fR
|
||||
Use IPv6 as default network protocol
|
||||
.TP
|
||||
\fB\-P\fR \fB\-\-srcport\fR
|
||||
Query source port number (default: 0)
|
||||
.TP
|
||||
\fB\-S\fR \fB\-\-srcip\fR
|
||||
Query source IP address (default: default interface address)
|
||||
.TP
|
||||
\fB\-c\fR \fB\-\-count\fR
|
||||
Number of requests to send (default: 10)
|
||||
.TP
|
||||
\fB\-w\fR \fB\-\-wait\fR
|
||||
Maximum wait time for a reply (default: 5)
|
||||
.TP
|
||||
\fB\-t\fR \fB\-\-type\fR
|
||||
DNS request record type (default: A)
|
||||
.PP
|
||||
.SH "SEE ALSO"
|
||||
For more documentation on dnsping see https://dnsdiag.org/.
|
43
dnstraceroute.1
Normal file
43
dnstraceroute.1
Normal file
@@ -0,0 +1,43 @@
|
||||
.\" (C) Copyright 2016 Ana Custura <ana@netstat.org.uk>
|
||||
.TH DNSTRACEROUTE "1" "December 2016" "User Commands"
|
||||
.SH NAME
|
||||
dnstraceroute \- DNS traceroute utility
|
||||
.SH DESCRIPTION
|
||||
dnstraceroute is a traceroute utility to figure out the path that a DNS request is passing through to get to its destination.
|
||||
Comparing it to a network traceroute can help identify if DNS traffic is routed via any unwanted path.
|
||||
.PP
|
||||
.SH USAGE
|
||||
usage: dnstraceroute [\-h] [\-q] [\-a] [\-s server] [\-p port] [\-c count] [\-t type] [\-w wait] hostname
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\fB\-h\fR \fB\-\-help\fR
|
||||
Show this help
|
||||
.TP
|
||||
\fB\-q\fR \fB\-\-quiet\fR
|
||||
Quiet
|
||||
.TP
|
||||
\fB\-e\fR \fB\-\-expert\fR
|
||||
Print expert hints if available
|
||||
.TP
|
||||
\fB\-a\fR \fB\-\-asn\fR
|
||||
Turn on AS# lookups for each hop encountered
|
||||
.TP
|
||||
\fB\-s\fR \fB\-\-server\fR
|
||||
DNS server to use (default: first system resolver)
|
||||
.TP
|
||||
\fB\-p\fR \fB\-\-port\fR
|
||||
DNS server port number (default: 53)
|
||||
.TP
|
||||
\fB\-c\fR \fB\-\-count\fR
|
||||
Maximum number of hops (default: 30)
|
||||
.TP
|
||||
\fB\-w\fR \fB\-\-wait\fR
|
||||
Maximum wait time for a reply (default: 5)
|
||||
.TP
|
||||
\fB\-t\fR \fB\-\-type\fR
|
||||
DNS request record type (default: A)
|
||||
.TP
|
||||
\fB\-C\fR \fB\-\-color\fR
|
||||
Print colorful output
|
||||
.SH SEE ALSO
|
||||
Full Documentation available at https://dnsdiag.org/
|
Reference in New Issue
Block a user