System Entrypoint¶
- File location:
Bundled implementation:
source/client/python/remote.pysource/client/python/scan.py
Cluster implementation:
cluster/app/source/python/__main__.py
In bundled implementation, the Bro Logs Processing module (remote) starts a
background process for the BroAPT-App framework; whilst the Detection Process module
(process) contains main processing logic as well as the
original system entrypoint.
In cluster implementation, this file wraps the whole system and make the
python folder callable as a module where the __main__.py will be
considered as the entrypoint.
Constants¶
- __main__.FILE_REGEX: re.Pattern¶
- Availability:
cluster implementation
re.compile(r''' # protocol prefix (?P<protocol>DTLS|FTP_DATA|HTTP|IRC_DATA|SMTP|\S+) - # file UID (?P<fuid>F\w+) \. # PCAP source (?P<pcap>.+?) \. # media-type (?P<media_type>application|audio|example|font|image|message|model|multipart|text|video|\S+) \. # subtype (?P<subtype>\S+) \. # file extension (?P<extension>\S+) ''', re.IGNORECASE | re.VERBOSE)
Regular expression to match and fetch information from extracted files.
See also
Dataclasses¶
- class scan.Entry¶
- Availability:
bundled implementation
A dataclass for extracted file entry.
Note
This dataclass supports ordering with power of
functools.total_ordering().
- class __main__.Entry¶
- Availability:
cluster implementation
See also
Bundled Implementation¶
scan Module¶
remote Module¶
Framework Mainloop¶
- remote.remote_dump()¶
- Availability:
bundled implementation
Runtime mainloop for BroAPT-App framework.
The function will start as an indefinite loop to fetch path to extracted files from
const.QUEUE_DUMP, and performscan()on them.When
JOIN_DUMPis set toTrue, the function will break from the loop.
Signal Handling¶
- remote.join_dump(*args, **kwargs)¶
- Availability:
bundled implementation
Toggle
JOIN_DUMPtoTrue.Note
This function is registered as handler for
SIGUSR1`.
- remote.JOIN_DUMP = multiprocessing.Value('B', False)¶
- Availability:
bundled implementation
Flag to stop the
remote_dump()background process.
Cluster Implementation¶
- __main__.listdir(path: str)¶
- Availability:
cluster implementation
Fetch and parse all extracted files in the given path.
- __main__.check_history()¶
- Availability:
cluster implementation
Check processed extracted files.
Note
Processed extracted files will be recorded at
const.DUMP.- Returns:
List of processed extracted files.
- Return type:
List[str]