[pcap-ng-format] Proposing new block type for PCAP-NG (UNCLASSIFIED)

Guy Harris guy at alum.mit.edu
Fri Apr 3 07:46:30 UTC 2015


Back in 2011, Jonathan Ellch at Harris Corporation (no relation) published an extension to the PPI format:

	https://www.cacetech.com/documents/PPI%20Header%20format%201.0.7.pdf

to add per-packet geolocation information:

	http://govcomm.harris.com/news/view_pressrelease.asp?act=lookup&pr_id=3290

Unfortunately, the specification linked to by the press release no longer appears to be available, and I couldn't find it anywhere in the Wayback Machine.

It would probably be good if we could have pcap-ng support everything useful that the PPI extensions do (I'd prefer not to handle this by using PPI within pcap-ng, as it duplicates pcap-ng's support for multiple link-layer types and, for example, radiotap's 802.11 radio metadata support).

Jonathan supplied a number of dissectors for various parts of the extension.  The data provided by them are, as I infer from the dissectors:

    GPS data:

	GPS fix type flags:
		No fix available
		GPS-provided fix
		Differential GPS-provided fix
		PPS fix
		RTK fix
		floatRTK fix
		Dead reckoning fix
		Manual fix
		Simulated fix

	Latitude

	Longitude

	Altitude (relative to some unspecified base)

	Altitude (relative to ground - how is "ground" defined?)

	(commented out in the code) fractional GPSTimestamp at which packet was received

	Horizontal margin of error, in meters

	Vertical margin error, in meters

	Time margin of error, in seconds

	Description string

	Blob of application-specific data

    Sensor data:

	Sensor type:

		Velocity (m/s)
		Acceleration (m/s^2)
		Jerk (d{acceleration}/dt) (m/s^3)
		Rotation (degrees/s)
		Magnetic (Tesla)
		Barometer (Pascal)
		Temperature (degrees Celsius)
		Humidity
		"TDOA_Clock" (seconds)
		"Phase" (degrees)

	Sensor scaling factor:

	Sensor X value

	Sensor Y value

	Sensor Z value

	Sensor total value

	Sensor margin of error value

	Description string

	Application ID

	Blob of application-specific data

    Vector data:

	Offset right

	Offset forward

	Offset up

	Velocity right

	Velocity forward

	Velocity up

	Velocity total

	Acceleration right

	Acceleration forward

	Acceleration up

	Acceleration total

	Rotation margin of error

	Offset margin of error

	Velocity margin of error

	Acceleration margin of error

	Description string

	Application ID

	Blob of application-specific data

	Flags:
		Current vector indicates forward frame of reference
		Rotations are in East/North/Up coordinate system
		Offsets are relative to the previous GPS tag
		Vector represents antenna
		Vector represents direction of travel
		Vector represents front of vehicle
		Vector represents angle of arrival
		Vector represents computed transmitter location
		Vector is derived from GPS
		Vector is derived from inertial navigation system
		Vector is derived from compass
		Vector is derived from accelerometer
		Vector is derived from human (presumably "a human said what the vector is")

	Reference frame vectors are relative to (32-bit value)

    Antenna:

	Flags:
		Antenna is part of MIMO system
		Antenna is horizontally polarized
		Antenna is vertically polarized
		Antenna is circularly polarized, left-handed
		Antenna is circularly polarized, right-handed
		Antenna is electrically steerable
		Antenna is mechanically steerable

	Antenna gain (dBi)

	Horizontal beamwidth

	Vertical beamwidth

	Precision gain (dBi)

	Beam ID

	Serial number

	Model name

	Description string

	Application ID

	Blob of application-specific data

The antenna information isn't location-related, so, whilst that information might be useful, it should probably be specified and discussed separately if it's of interest.  The same applies to much of the sensor data, with the possible exception of the derivatives of position and the rotation speed.



More information about the pcap-ng-format mailing list