[pcap-ng-format] pcap-ng-format Digest, Vol 16, Issue 1 (UNCLASSIFIED)
Renard, Kenneth D CIV USARMY ARL (US)
kenneth.d.renard.civ at mail.mil
Mon Mar 30 13:32:55 UTC 2015
Classification: UNCLASSIFIED
Caveats: NONE
Thanks for the feedback! I look forward to contributing where I can to
pcap-ng.
Comments and thoughts below.
-Ken Renard
>> Name: shb_host
>> Code: 5?
>> Length: Variable
>> Description: An UTF-8 string containing the name of the host
>> used to create this section.
>> Example: "foo.bar.com", "Sensor XYZ", "Router X, Span port 4"
>
>"Router X, Span port 4" sounds more like a comment for an Interface
>Description Block than a description of the host on which the data was
>collected.
Good point. Agreed, that example is much better in the IDB.
>> so there is a need
>> to put a timestamp on each position record, and we should tie this to
>> a specific interface mostly so that we can use its timestamp precision.
>> This would also allow you to have multiple interfaces at different
>> locations.
>
>Sounds good. Presumably if there's no LIB for a particular interface, the
>location of that interface would be unknown.
>
>Presumably if you have a mobile machine with multiple interfaces (two
Wi-Fi,
>or Wi-Fi + mobile phone modem, for example), multiple LIBs will be produced
>when the machine moves sufficiently to deserve that.
I think this is worthy of discussion. It would be a waste to require (or
infer
that it is required) to generate a position block for each interface at each
chosen interval. If I had N interfaces and chose to report positions every
second, that could get wasteful. What do you think of a position report
that
references interface -1 (0xffffffff) which specifies "all interfaces" but
would
still need some timestamp resolution reference (default to microseconds?).
Our specific use case does not need interface-specific locations. What do
others in the community think? I prefer to keep it simple, but want to
catch
as many use cases as practical.
>If somebody's capturing while in motion, and we're not interested in
position
>or orientation information when packets aren't arriving, we could have
those
>options available for both LIBs and packet blocks, and say that the
position/
>orientation information for a packet is unchanged from whatever the last
>values were for that interface if the options aren't present. That might
>allow less stuff to be written if we're only interested in the position and
>orientation at the time packets are captured.
Agreed. Frequency of location information is defined by the
application/user.
Example use cases might be:
1. Set location description each time I wake up my laptop
2. Synchronous stream from GPS: Once per second, per interface.
3. Every N seconds or change in position more than M meters.
Location information per-packet seems extreme, but certainly valid.
>Is there a standard origin (say, the North Pole) from which those are
>measured, is the origin provided out of band to the program interpreting
the
>capture, or should there be a block that supplies the origin?
>
>This also may not work well for space travel outside Earth orbit - it's
about
>54 billion meters from Earth to Mars:
My thoughts are that the origin would be externally-defined. For example,
in
a network simulation, only XYZ coordinates might be used without an origin
reference. I am certainly open to a origin reference description
(preferably
once per SHB or IDB, versus per location block).
>This also may not work well for space travel outside Earth orbit - it's
>about 54 billion meters from Earth to Mars:
>
> http://www.space.com/14729-spacekids-distance-earth-mars.html
>
> If that becomes an issue, we could add a new option with 64-bit offsets.
Maybe an option for Astronomical Units instead of meters :-) Good point,
see
below.
> I presume less-than-meter resolution isn't required; if that becomes an
> issue, the 64-bit-offset could be in less-than-meter units.
I defer to the community on the need for less-than-meter or more-than-meter
resolution. Maybe a 64-bit version of the XYZ option where the resolution
is defined as well? Such as:
Option: High-Precision-XYZ (28 bytes)
Resolution: 32-bit signed int representing meter resolution
(example: value -6 is micrometer resolution, value 3 for
km)
X location: 64-bit signed int
Y location: 64-bit signed int
Z location: 64-bit signed int
>> Option 5: Description (Variable)
>> UTF-8 string containing some textual description of
>> location. (e.g. "DMZ", "Server Room", or "Starbucks")
>
>Presumably we could, for example, have most LIBs, and those packet blocks
>that need to update location information if we go that way, not provide
that
>option, and only provide that option if the textual description needs to be
>updated, so you don't, for example, repeatedly say "Starbucks" while you're
>walking around the coffee shop.
Agreed. If location is specified every N seconds/packets/whatever, it would
be up the application to determine exact positions per-packet (if required).
An application could use most recently reported position or try to
interpolate
positions for each packet in between location blocks.
Classification: UNCLASSIFIED
Caveats: NONE
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 5573 bytes
Desc: not available
URL: <http://www.winpcap.org/pipermail/pcap-ng-format/attachments/20150330/2a547231/attachment.bin>
More information about the pcap-ng-format
mailing list