Wireshark-bugs: [Wireshark-bugs] [Bug 11047] New: duration calculation using appflow flow record

Date: Tue, 10 Mar 2015 18:18:29 +0000
Bug ID 11047
Summary duration calculation using appflow flow record field type 154 and 155 incorrect
Product Wireshark
Version 1.12.3
Hardware x86-64
OS Windows 7
Status UNCONFIRMED
Severity Normal
Priority Low
Component Dissection engine (libwireshark)
Assignee [email protected]
Reporter [email protected]

Created attachment 13501 [details]
example citrix/netscaler appflow data

Build Information:
Version 1.12.3 (v1.12.3-0-gbb3e9a0 from master-1.12)

Copyright 1998-2015 Gerald Combs <[email protected]> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (64-bit) with GTK+ 2.24.23, with Cairo 1.10.2, with Pango 1.34.0, with
GLib 2.38.0, with WinPcap (4_1_3), with libz 1.2.5, with SMI 0.4.8, with c-ares
1.9.1, with Lua 5.2, without Python, with GnuTLS 3.2.15, with Gcrypt 1.6.2,
without Kerberos, with GeoIP, with PortAudio V19-devel (built Jan  7 2015),
with
AirPcap.

Running on 64-bit Windows 7 Service Pack 1, build 7601, with WinPcap version
4.1.3 (packet.dll version 4.1.0.2980), based on libpcap version 1.0 branch
1_0_rel0b (20091008), GnuTLS 3.2.15, Gcrypt 1.6.2, without AirPcap.
Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz, with 8061MB of physical
memory.


Built using Microsoft Visual C++ 10.0 build 40219

Wireshark is Open Source Software released under the GNU General Public
License.

Check the man page and http://www.wireshark.org for more information.
--
when viewing cflow records in wireshark , a calculation is done to comute
duration of a flow record using field type 154 (flowStartMicroseconds) and 
field type 155 (flowEndMicroseconds) . Although whole date and time in seconds
are correct the "microseconds" are miscalculated. The calculation being done is
as if the fields are NTP structures 
struct ntp_time_t {
    uint32_t   second; //seconds have elapsed since Jan 1, 1900
    uint32_t    fraction; // 2**32 of second
};

however the structure really is something like  

struct appflow_microsecond_time_t {
    uint32_t   second; //seconds have elapsed since Jan 1, 1900
    uint32_t    fraction; // number of microseconds
};

where the fractional part is already in microseconds not an NTP fraction.


You are receiving this mail because:
  • You are watching all bug changes.