Wireshark mailing list archives

Re: Wireshark-users Digest, Vol 130, Issue 6


From: noah davids <ndav1 () cox net>
Date: Sun, 12 Mar 2017 20:14:44 -0700

The problem with dns.time is that it seems to base its calculations on
the last query not the first. For example, if query 1 goes unanswered
and query 2 is sent with the same ID and then a query comes back
dns.time calculates the time based on the second query. To me that is a
little misleading.

In the following you can see that there are 5 seconds between the first
and second query but dns.time is reported at under 2 ms. The 5 seconds
is lost and is probably significant if you are looking at performance
issues.

|$ tshark -r dns.pcapng -Y "dns.id == 0xfc01" -T fields -e frame.time -e
dns.id -e dns.qry.name -e dns.flags.response -e dns.time||
||Mar 12, 2017 05:41:59.259558974 MST    0x0000fc01   
z.cdn.turner.com    0    ||
||Mar 12, 2017 05:42:04.267468318 MST    0x0000fc01   
z.cdn.turner.com    0    ||
||Mar 12, 2017 05:42:04.269226257 MST    0x0000fc01   
z.cdn.turner.com    1    0.001757939|

The following while pretty ugly will produce a table using the first
time for a given ID

|tshark -r dns.pcapng -T fields -e frame.number -e frame.time_epoch -e
frame.time -e dns.id -e dns.flags.response -e dns.qry.name -e
dns.qry.type > /tmp/foo; (echo ID TYPE Name Response-time - Query-time =
Delta-time; awk '($9 == 1) {print $8 " " $10 " " $11}' /tmp/foo | sort
-u | while read id name type; do echo $id $type $name: $( grep
$id.*0.*$name.*$type /tmp/foo | awk '{print $2 " " $3 " " $5 " " $6}' |
head -1 > /tmp/foo1; grep $id.*1.*$name.*$type /tmp/foo | awk '{print $2
" " $3 " " $5 " " $6}' | tail -1 >> /tmp/foo1; cat /tmp/foo1 | tr "\n" "
" | awk '{print $8 " - " $4 " = " $5-$1}'); done) | column -t; rm
/tmp/foo; rm /tmp/foo1||
|

filtering on just the example transaction ID yields

|$ (tshark -r dns.pcapng -T fields -e frame.number -e frame.time_epoch
-e frame.time -e dns.id -e dns.flags.response -e dns.qry.name -e
dns.qry.type > /tmp/foo; (echo ID TYPE Name Response-time - Query-time =
Delta-time; awk '($9 == 1) {print $8 " " $10 " " $11}' /tmp/foo | sort
-u | while read id name type; do echo $id $type $name: $( grep
$id.*0.*$name.*$type /tmp/foo | awk '{print $2 " " $3 " " $5 " " $6}' |
head -1 > /tmp/foo1; grep $id.*1.*$name.*$type /tmp/foo | awk '{print $2
" " $3 " " $5 " " $6}' | tail -1 >> /tmp/foo1; cat /tmp/foo1 | tr "\n" "
" | awk '{print $8 " - " $4 " = " $5-$1}'); done) | column -t; rm
/tmp/foo; rm /tmp/foo1) | grep -E "fc01|ID"
ID          TYPE  Name                         Response-time       - 
Query-time          =  Delta-time
0x0000fc01  28    z.cdn.turner.com:            05:42:04.269226257  - 
05:41:59.259558974  =  5.00967
|||
Note that this will not display a query that never gets an answer.

You can use gnuplot to plot them

$ (tshark -r dns.pcapng -T fields -e frame.number -e frame.time_epoch -e
frame.time -e dns.id -e dns.flags.response -e dns.qry.name -e
dns.qry.type > /tmp/foo; (echo ID TYPE Name Response-time - Query-time =
Delta-time; awk '($9 == 1) {print $8 " " $10 " " $11}' /tmp/foo | sort
-u | while read id name type; do echo $id $type $name: $( grep
$id.*0.*$name.*$type /tmp/foo | awk '{print $2 " " $3 " " $5 " " $6}' |
head -1 > /tmp/foo1; grep $id.*1.*$name.*$type /tmp/foo | awk '{print $2
" " $3 " " $5 " " $6}' | tail -1 >> /tmp/foo1; cat /tmp/foo1 | tr "\n" "
" | awk '{print $8 " - " $4 " = " $5-$1}'); done) | column -t; rm
/tmp/foo; rm /tmp/foo1) > /tmp/foo3; gnuplot -p -e "set xdata time; set
timefmt \"%H:%M:%S\"; set format x \"%H:%M:%S\"; set logscale y 10; plot
\"/tmp/foo3\" using 6:8; pause 300"; rm /tmp/foo3

Note that the pause 300 will give you 5 minutes to resize the window and
have it scale correctly.




On 03/11/2017 05:00 AM, wireshark-users-request () wireshark org wrote:
------------------------------
Message: 2
Date: Fri, 10 Mar 2017 18:14:04 +0400
From: Abhik Sarkar <sarkar.abhik () gmail com>
To: Community support list for Wireshark
      <wireshark-users () wireshark org>
Subject: Re: [Wireshark-users] How to draw DNS response time in I/O
      Graph
Message-ID:
      <CA+i03uScZn1bMf9_EZMvAk+kDW627kyDtPf+_sUD7EQWyYcUcQ () mail gmail com>
Content-Type: text/plain; charset="utf-8"

Hi

Doesn't this one help:
https://ask.wireshark.org/questions/3678/dns-transaction-latency?

Regards
Abhik


-- 
Noah Davids
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Serendipity is a function of bandwidth
 
If you  are not the intended recipient of this E-mail it  would be nice if you deleted
it and notified me  that you received it incorrectly.  On the other hand, E-mail is an
insecure mechanism; nothing in this E-mail can be considered confidential.

Backup copies of this E-mail can be requested from the NSA by sending an E-mail to
george.orwell () prisim oceania gov with the subject "Please recover E-mail" followed
by the date, subject  and original  sender's E-mail address. $3.14 will be debited
from one of your bank accounts for processing for each E-mail recovered.


___________________________________________________________________________
Sent via:    Wireshark-users mailing list <wireshark-users () wireshark org>
Archives:    https://www.wireshark.org/lists/wireshark-users
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-users
             mailto:wireshark-users-request () wireshark org?subject=unsubscribe

Current thread: