Ethereal-users: Re: [Ethereal-users] RE: netxray.c Time Calculations (file version 2.2)
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: "James V. Fields" <jvfields@xxxxxxx>
Date: Sat, 29 Jan 2005 07:59:18 -0500
What I'd like to do is see if I can generate one of those captures with timehi:timelo = zero. We have a number of hardware/software combinations of the brand-name Sniffer products and we almost never capture straight to a file. What I meant by "expert" is that the Sniffer has built-in diagnoses and statistics which are applied to the capture - this is referred to as the Expert window or tab, and under a "normal" capture - i.e. one not written directly to disk - the capture goes into a memory buffer and is run through "Expert" on the fly. It is after you tell the Sniffer to stop and display the capture that additional windows include the decode appear. The only exception to that in our own equipment are gigabit sniffers where the capture is done in a buffer on the gig card itself, and having it uploaded to the buffer on the fly is an option rather than the default. I'll try to take some samples with various settings early next week. Ken Mann wrote:
Date: Thu, 27 Jan 2005 17:07:02 -0500 Subject: Re: [Ethereal-users] netxray.c Time Calculations (file version 2.2)To: Ethereal user support <ethereal-users@xxxxxxxxxxxx <mailto:ethereal-users@xxxxxxxxxxxx>>Message-ID: <41F96606.3070300@xxxxxxx <mailto:41F96606.3070300@xxxxxxx>> Content-Type: text/plain; charset=ISO-8859-1; format=flowedExcellent - I was hoping we'd get more folks looking into timetickvalues for Sniffer. I do have a couple of clarification questions so that I can look at some of my captures:1. You state that the 64-bit time stamp appears to be output whenSniffer is told to write the capture buffer to a file. Does that mean that if you have sniffer capture to a memory buffer or straight to "expert" that it doesn't write those timestamps?[Ken Mann] Yes, I think. I am not familiar with "expert". The capture to file setting I am referring to is on the "buffer" tab when defining a capture filter in the windows environment. In my environment we have a central "Sniffer" PC and everyone has a license for Sniffer basic on their desktop. We also have a few laptops for wireless sniffs. I am fairly confident in the cause/effect correlation I have seen. 2. How do you know that the time stamp in each packet is pure microseconds when the timehi:timelo is zero (I'm not questioning if you're correct, just interested in your source of information as I got very interested in this lately and can't find it documented anywhere).[Ken Mann] Basically, it is an assumption based on how Sniffer displays time in the decode display. The delta time field (formatted: 0.000.000) yields results like 0.000.134 as 134 micro seconds or 0.014.802 is 14.802 milliseconds. This interpretation is borne out by things like Beacon intervals (100 milli seconds). I have also taken packets out of files with and without timelo and timehi and inserted arbitrary deltas (like 10 milliseconds) and verified that the time change I intended is correctly interpreted by the sniffer software. Thanks! Ken Mann wrote:I have found what I believe is a discrepancy in how the time of each packet is determined. My experience is limited to version 2.2 with files. In the current netxray.c, realtick is read (with appropriate byte ordering) into timeunit. Timeunit is used to convert the time stamp of each packet into units of seconds. 64-bit time stamp (timehi:timelo) appears to be output when Sniffer is told to write the capture buffer to a file. In that instance, all the algorithms in the current netxray.c (10.9) are correct. However, if timehi:timelo is zero, the time stamp in each packet is pure micro seconds and should be divided by 1E6 to convert to seconds, NOT the value found in realtick. I have also observed that a different value of realtick/timeunit is written to the file depending on the type of network (0x1234DE for ethernet, 0x369E99 for 802.11) struct netxray_hdr { ... guint8 timeunit; /* encodes length of a tick */ guint8 xxa[3]; /* XXX - is this the upper 3 bytes of the time units? */ guint32 timelo; /* lower 32 bits of time stamp of capture start */ guint32 timehi; /* upper 32 bits of time stamp of capture start */ guint32 linespeed; /* speed of network, in bits/second */ guint8 xxb[12]; /* other stuff */ guint8 realtick[4]; /* in version 2, units of the timestamps */ guint8 xxc[48]; /* other unknown stuff */ }; Forgive me if this has already been covered by a previous post.------------------------------------------------------------------------ _______________________________________________ Ethereal-users mailing list Ethereal-users@xxxxxxxxxxxx http://www.ethereal.com/mailman/listinfo/ethereal-users
- References:
- Prev by Date: Re: [Ethereal-users] Problem in viewing IMAP Packets
- Next by Date: Re: [Ethereal-users] iSCSI decoding with header digests off in versions after 0.10.6
- Previous by thread: [Ethereal-users] RE: netxray.c Time Calculations (file version 2.2)
- Next by thread: [Ethereal-users] Hey I have a problem with ethereal...
- Index(es):