PcapFileEx.Validator (pcap_file_ex v0.5.5)

View Source

File validation helpers for PCAP and PCAPNG files.

Summary

Functions

Gets file size in bytes.

Checks if a file is a valid PCAP file.

Checks if a file is a valid PCAPNG file.

Checks if a file exists and is readable.

Validates if a file is a valid PCAP or PCAPNG file.

Functions

file_size(path)

@spec file_size(Path.t()) :: {:ok, non_neg_integer()} | {:error, File.posix()}

Gets file size in bytes.

Examples

iex> PcapFileEx.Validator.file_size("capture.pcap")
{:ok, 1024}

iex> PcapFileEx.Validator.file_size("nonexistent.pcap")
{:error, :enoent}

pcap?(path)

@spec pcap?(Path.t()) :: boolean()

Checks if a file is a valid PCAP file.

Examples

iex> PcapFileEx.Validator.pcap?("capture.pcap")
true

iex> PcapFileEx.Validator.pcap?("capture.pcapng")
false

pcapng?(path)

@spec pcapng?(Path.t()) :: boolean()

Checks if a file is a valid PCAPNG file.

Examples

iex> PcapFileEx.Validator.pcapng?("capture.pcapng")
true

iex> PcapFileEx.Validator.pcapng?("capture.pcap")
false

readable?(path)

@spec readable?(Path.t()) :: boolean()

Checks if a file exists and is readable.

Examples

iex> PcapFileEx.Validator.readable?("capture.pcap")
true

iex> PcapFileEx.Validator.readable?("nonexistent.pcap")
false

validate(path)

@spec validate(Path.t()) :: {:ok, :pcap | :pcapng} | {:error, String.t()}

Validates if a file is a valid PCAP or PCAPNG file.

Returns

  • {:ok, :pcap} - Valid PCAP file
  • {:ok, :pcapng} - Valid PCAPNG file
  • {:error, reason} - Invalid or inaccessible file

Examples

iex> PcapFileEx.Validator.validate("capture.pcap")
{:ok, :pcap}

iex> PcapFileEx.Validator.validate("capture.pcapng")
{:ok, :pcapng}

iex> PcapFileEx.Validator.validate("not_a_capture.txt")
{:error, "Unknown file format"}