Skip to content

Doesn't gracefully handle additional columns in Kismet data #15

@ajmeese7

Description

@ajmeese7

Some flavors of collect are enriched with additional data, such as the packet_full_len column. When this is currently passed to the kismet_log_to_pcap file, it fails:

Traceback (most recent call last):
  File "/usr/local/bin/kismet_log_to_pcap", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/kismetdb/scripts/log_to_pcap.py", line 99, in main
    packet_store = kismetdb.Packets(results.infile)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/kismetdb/base_interface.py", line 61, in __init__
    self.check_column_names(file_location)
  File "/usr/local/lib/python3.11/dist-packages/kismetdb/base_interface.py", line 305, in check_column_names
    raise ValueError(err)
ValueError: Schema mismatch in packets table, in file /tmp/random_filename.kismet. Expected ['ts_sec', 'ts_usec', 'phyname', 'sourcemac', 'destmac', 'transmac', 'frequency', 'devkey', 'lat', 'lon', 'alt', 'speed', 'heading', 'packet_len', 'signal', 'datasource', 'dlt', 'packet', 'error', 'tags', 'datarate', 'hash', 'packetid'], got ['ts_sec', 'ts_usec', 'phyname', 'sourcemac', 'destmac', 'transmac', 'frequency', 'devkey', 'lat', 'lon', 'alt', 'speed', 'heading', 'packet_len', 'signal', 'datasource', 'dlt', 'packet', 'error', 'tags', 'datarate', 'hash', 'packetid', 'packet_full_len']

It would be nice if this just continued operations as normal by pulling the desired columns. I'd happily build this out, but from what I can tell public PRs aren't accepted, so I don't know how to go about contributing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions