Available Fields
=================
LeakPy supports 82+ fields organized by category. All events are returned as ``L9Event`` objects that support dot notation access.
.. note::
The field structure follows the official `l9format schema `_ from LeakIX.
For the complete official documentation of the L9Event format, see the `LeakIX API documentation `_.
Accessing Fields
----------------
Get all available fields from the schema (no API call needed):
.. code-block:: python
from leakpy import LeakIX
client = LeakIX()
# Get all fields from schema (no API call needed)
fields = client.get_all_fields()
for field in sorted(fields):
print(field)
Or use ``search()`` to get events as ``L9Event`` objects:
.. code-block:: python
from leakpy import LeakIX
client = LeakIX()
events = client.search(
scope="leak",
query='+country:"France"',
pages=2,
fields="full"
)
for event in events:
print(event.ip, event.port, event.protocol)
Field Reference
---------------
Root Fields
~~~~~~~~~~~
Root-level fields for basic event information:
- ``event_fingerprint``, ``event_pipeline``, ``event_source``, ``event_type``
- ``host``, ``ip``, ``mac``, ``port``, ``protocol``
- ``reverse``, ``summary``, ``tags``, ``time``, ``transport``, ``vendor``
GeoIP Fields
~~~~~~~~~~~~
Geographic information fields:
- ``geoip.city_name``, ``geoip.continent_name``, ``geoip.country_iso_code``, ``geoip.country_name``
- ``geoip.location.lat``, ``geoip.location.lon``
- ``geoip.region_iso_code``, ``geoip.region_name``
HTTP Fields
~~~~~~~~~~~
HTTP protocol fields:
- ``http.favicon_hash``, ``http.length``, ``http.root``
- ``http.status``, ``http.title``, ``http.url``
.. note::
HTTP headers are accessible via ``event.http.header.get('header_name')``
Leak Fields
~~~~~~~~~~~
Leak dataset and metadata fields:
- ``leak.dataset.collections``, ``leak.dataset.files``, ``leak.dataset.infected``, ``leak.dataset.ransom_notes``
- ``leak.dataset.rows``, ``leak.dataset.size``
- ``leak.severity``, ``leak.stage``, ``leak.type``
Network Fields
~~~~~~~~~~~~~~
Network information fields:
- ``network.asn``, ``network.network``, ``network.organization_name``
Service Fields
~~~~~~~~~~~~~~
Service credentials and software information:
- ``service.credentials.key``, ``service.credentials.noauth``, ``service.credentials.password``, ``service.credentials.raw``, ``service.credentials.username``
- ``service.software.fingerprint``, ``service.software.modules``, ``service.software.name``
- ``service.software.os``, ``service.software.version``
SSH Fields
~~~~~~~~~~
SSH protocol fields:
- ``ssh.banner``, ``ssh.fingerprint``, ``ssh.motd``, ``ssh.version``
SSL Fields
~~~~~~~~~~
SSL/TLS certificate and protocol fields:
- ``ssl.certificate.cn``, ``ssl.certificate.domain``, ``ssl.certificate.fingerprint``, ``ssl.certificate.issuer_name``
- ``ssl.certificate.key_algo``, ``ssl.certificate.key_size``, ``ssl.certificate.not_after``, ``ssl.certificate.not_before``
- ``ssl.certificate.valid``, ``ssl.cypher_suite``, ``ssl.detected``, ``ssl.enabled``, ``ssl.jarm``, ``ssl.version``
Complete Example
----------------
See :doc:`examples` for complete usage examples.