asif

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

Warnings:

Please see the README on Github at https://github.com/packetloop/asif#readme


[Skip to ReadMe]

Properties

Versions1.0.0, 2.0.0, 3.0.0, 3.1.0, 3.1.0
Change logChangeLog.md
Dependenciesasif, attoparsec, base (>=4.7 && <5), binary, bytestring, conduit, conduit-combinators, conduit-extra, containers, cpu, directory, either, exceptions, generic-lens, hw-bits, hw-ip, iproute, lens, network, old-locale, optparse-applicative, resourcet, temporary-resourcet, text, thyme, vector [details]
LicenseMIT
CopyrightArbor Networks
AuthorArbor Networks
Maintainermayhem@arbor.net
CategoryServices
Home pagehttps://github.com/packetloop/asif#readme
Bug trackerhttps://github.com/packetloop/asif/issues
Source repositoryhead: git clone https://github.com/packetloop/asif
Executablesasif
UploadedFri Oct 19 01:36:50 UTC 2018 by arbornetworks

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees


Readme for asif-3.1.0

[back to package description]

Arbor Safe Intelligence Format (asif)

CircleCI

Library for creating and querying segmented feeds.

File Format Specification

Layer 0: Segments

+--------------------+
|Segmented OSI Model |
+--------------------+

 magic, where XXXX is a feed type
+---------------------+-------------+
| "seg:XXXX" [char:8] | ver: uint64 |
+---------------------+-------------+

c -- countries
a -- asns
n -- naics

 header
+-----------------+
| seg_num: uint64 |
+-----------------+

 segments
+-----------------------+-----------------------+
| segment_offset: int32 | segment_length: int32 |
+-----------------------+-----------------------+

 segment vector
+-------------+
| key: X, ... |
+-------------+

 segment vector
+-------------+
| val: Y, ... |
+-------------+

Vector keys are fixed-length values such as 4-byte IPv4 addresses, 2-byte country codes, or 4-byte NAIC IDs.

All values are little-endian.

Values are other ints or can be null-terminated strings.

Layer 1: Segment filenames

Segment 0 must contain a concatenated list of null terminated filenames.

The first filename must be .asif/filenames.

The n-th filename in the segment 0 describes the n-th segment in the file.

Layer 2: Additional metadata

The asif file may contain contain a named segment .asif/createtime. If it does, this segment concatenated Word64 numbers representing the create time of each file in microseconds since epoch. If the segment does not have a create time, it's create time entry will be 0 instead.

The asif file may contain contain a named segment .asif/formats. If it does, this segment concatenated null terminated strings representing the format of the data in the respective segments. The dump command will use this information to choose the most appropriate way to print the data in each segment.

CLI

CLI documentation