From e005bc819c201c49cf330a2607ad0770f145904e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Valverde?= Date: Sat, 26 Mar 2016 03:16:17 +0000 Subject: Remove synchronous DNS name resolution MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ie5e670b769eb0674950f3679ef511047641c2873 Reviewed-on: https://code.wireshark.org/review/14751 Petri-Dish: João Valverde Tested-by: Petri Dish Buildbot Reviewed-by: Alexis La Goutte Reviewed-by: Anders Broman --- docbook/release-notes.asciidoc | 5 +++ docbook/wsug_src/WSUG_chapter_advanced.asciidoc | 42 +++++++++++------------- docbook/wsug_src/WSUG_chapter_customize.asciidoc | 3 +- 3 files changed, 25 insertions(+), 25 deletions(-) (limited to 'docbook') diff --git a/docbook/release-notes.asciidoc b/docbook/release-notes.asciidoc index 820959af91..f6f313326d 100644 --- a/docbook/release-notes.asciidoc +++ b/docbook/release-notes.asciidoc @@ -29,6 +29,11 @@ since version 2.0.0: the current capture file via the View menu in the Qt GUI. ** You can now show selected packet bytes as ASCII, HTML, Image, ISO 8859-1, Raw or UTF-8. ** You can now use regular expressions in Find Packet. +** Name resolution for packet capture now supports asynchronous DNS lookups only. Therefore the +"concurrent DNS resolution" preference has been deprecated and is a no-op. To enable DNS name +resolution some build dependencies must be present (currently c-ares). If that is not the case DNS +name resolution will be disabled (but other name resolution mechanisms, such as host files, +are still available). //=== Removed Dissectors diff --git a/docbook/wsug_src/WSUG_chapter_advanced.asciidoc b/docbook/wsug_src/WSUG_chapter_advanced.asciidoc index 54ea191e4b..93e94b6c80 100644 --- a/docbook/wsug_src/WSUG_chapter_advanced.asciidoc +++ b/docbook/wsug_src/WSUG_chapter_advanced.asciidoc @@ -700,34 +700,30 @@ an abbreviated manufacturer name, which has been assigned by the IEEE (e.g. Try to resolve an IP address (e.g. 216.239.37.99) to something more ``human readable''. -__DNS/concurrent DNS name resolution (system/library service)__: Wireshark will -ask the operating system (or the concurrent DNS library), to convert an IP -address to the hostname associated with it (e.g. 216.239.37.99 -> -www.1.google.com). The DNS service is using synchronous calls to the DNS server. -So Wireshark will stop responding until a response to a DNS request is returned. -If possible, you might consider using the concurrent DNS library (which won't -wait for a name server response). +__DNS name resolution (system/library service)__: Wireshark will use a name +resolver to convert an IP address to the hostname associated with it +(e.g. 216.239.37.99 -> www.1.google.com). + +DNS name resolution can generally be performed synchronously or asynchronously. +Both mechanisms can be used to convert an IP address to some human readable +(domain) name. A system call like gethostname() will try to convert the address +to a name. To do this, it will first ask the systems hosts file +(e.g. __/etc/hosts__) if it finds a matching entry. If that fails, it will ask +the configured DNS server(s) about the name. + +So the real difference between synchronous DNS and asynchronous DNS comes when +the system has to wait for the DNS server about a name resolution. The system call +gethostname() will wait until a name is resolved or an error occurs. If the DNS +server is unavailable, this might take quite a while (several seconds). [WARNING] ==== -Enabling network name resolution when your name server is unavailable may -significantly slow down Wireshark while it waits for all of the name server -requests to time out. Always use concurrent DNS resolution. +To provide acceptable performance Wireshark depends on +an asynchronous DNS library to do name resolution. If one isn't available +during compilation the feature will be unavailable. ==== -__DNS vs. concurrent DNS__: here's a short comparison: Both mechanisms are used -to convert an IP address to some human readable (domain) name. The usual DNS -call gethostname() will try to convert the address to a name. To do this, it -will first ask the systems hosts file (e.g. __/etc/hosts__) if it finds a -matching entry. If that fails, it will ask the configured DNS server(s) about -the name. - -So the real difference between DNS and concurrent DNS comes when the system has -to wait for the DNS server about a name resolution. The system call -gethostname() will wait until a name is resolved or an error occurs. If the DNS -server is unavailable, this might take quite a while (several seconds). - -The concurrent DNS service works a bit differently. It will also ask the DNS +The asynchronous DNS service works a bit differently. It will also ask the DNS server, but it won't wait for the answer. It will just return to Wireshark in a very short amount of time. The actual (and the following) address fields won't show the resolved name until the DNS server returns an answer. As mentioned diff --git a/docbook/wsug_src/WSUG_chapter_customize.asciidoc b/docbook/wsug_src/WSUG_chapter_customize.asciidoc index 2abcfaab8b..9e0dd1a89f 100644 --- a/docbook/wsug_src/WSUG_chapter_customize.asciidoc +++ b/docbook/wsug_src/WSUG_chapter_customize.asciidoc @@ -287,8 +287,7 @@ Turns on name resolving for particular types of addresses and port numbers. The argument is a string that may contain the letters `m` to enable MAC address resolution, `n` to enable network address resolution, and `t` to enable transport-layer port number resolution. This overrides `-n` if both `-N` and -`-n` are present. The letter `C` enables concurrent (asynchronous) DNS lookups. -The letter `d` enables resolution from captured DNS packets. +`-n` are present. The letter `d` enables resolution from captured DNS packets. -o :: -- cgit v1.2.3