Wireshark-dev: Re: [Wireshark-dev] time question
      
      
From: Brian Oleksa <oleksab@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 08 Apr 2010 15:36:32 -0400
AndersYes...I am aware of that. This is what I did...but I am still getting an invalid date. This is exactly what I get as the output (Jan 15th, 1970 16:59:15 UTC)
                                   nstime_t t;
                                   guint32 msecs_since_the_epoch;
                                   struct tm *tmp;
                                   msecs_since_the_epoch = 
tvb_get_ntohl(tvb, offset);
                                   t.secs = msecs_since_the_epoch / 1000;
                                   t.nsecs = (msecs_since_the_epoch % 
1000)*1000000; /* milliseconds to nanoseconds */
                                   tmp = gmtime(&t.secs);
                               if (tmp != NULL)
                                   {
                                   
proto_tree_add_time_format(mgen_sub_tree, hf_helen_time, tvb, offset, 4, &t,
                                           "Date: %s %2d, %d 
%02d:%02d:%02d UTC", mon_names[tmp->tm_mon], tmp->tm_mday,
                                           tmp->tm_year + 1900, 
tmp->tm_hour, tmp->tm_min, tmp->tm_sec);
                                   }
                               offset += 4;
Thanks,
Brian
Anders Broman wrote:
Brian Oleksa skrev 2010-04-08 16:41:Wiresharkers I am trying to dissect the time in a particular packet. Here is it's format: "The time is the source computer's system time in Greenwich Mean Time (GMT)." The size is 32 bits or 4 bytes. What is the best method to use to dissect this time..?? I tired this...but did not have any luck: nstime_t t; guint64 msecs_since_the_epoch; struct tm *tmp; msecs_since_the_epoch = tvb_get_ntoh64(tvb, offset);Well you are fetching 8 bytes not four...t.secs = msecs_since_the_epoch / 1000; t.nsecs = (msecs_since_the_epoch % 1000)*1000000; /* milliseconds to nanoseconds */ tmp = gmtime(&t.secs); if (tmp != NULL) { proto_tree_add_time_format(time_sub_tree, hf_helen_time, tvb, offset, 4,&t, "Date: %s %2d, %d %02d:%02d:%02d UTC", mon_names[tmp->tm_mon], tmp->tm_mday, tmp->tm_year + 1900, tmp->tm_hour, tmp->tm_min, tmp->tm_sec); } offset += 4 Also...I am trying to dissect longitude, latitude and altitude. Here is it's format. The size is also 32 bits or 4 bytes. The<latitude>,<longitude>, and<altitude> fields contain values corresponding to GPS information for the MGEN source if it was available. The<latitude> and<longitude> fields are encoded as follows: <fieldValue> = (unsigned long)((<actualValue>+180.0)*60000.0) The<altitude> field is the direct representation of the altitude value available from the source's GPS system. I tried this but had no luck: longitude = tvb_get_ntoh64(tvb, offset);Well you are fetching 8 bytes not four...longitude = (longitude+180)*60000;Assuming the field on the wire is encoded as: <fieldValue> = (unsigned long)((<actualValue>+180.0)*60000.0) shouldn't that be (double)actualValue= (longitude/60000.0)-180proto_tree_add_uint_format(mgen_sub_tree, hf_helen_length, tvb, offset, 4, 0, "Longitude: %f", longitude); offset += 4; Thanks, Brian ___________________________________________________________________________ Sent via: Wireshark-dev mailing list<wireshark-dev@xxxxxxxxxxxxx> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
- Follow-Ups:
- Re: [Wireshark-dev] time question
- From: wsgd
 
 
 - Re: [Wireshark-dev] time question
 
- References:
- [Wireshark-dev] time question
- From: Brian Oleksa
 
 - Re: [Wireshark-dev] time question
- From: Anders Broman
 
 
 - [Wireshark-dev] time question
 
- Prev by Date: Re: [Wireshark-dev] USB URB hex bytes not shown
 - Next by Date: Re: [Wireshark-dev] time question
 - Previous by thread: Re: [Wireshark-dev] time question
 - Next by thread: Re: [Wireshark-dev] time question
 - Index(es):