Skip to main content

awho

What is this IP? Resource attribution across your AWS Organization.

An address turns up in a flow log, an ALB access log, a firewall deny or a GuardDuty finding. Working out what it is means knowing which of your hundreds of accounts to look in. awho 10.42.13.7 answers that with no database, no SQL and no per-account config, and it tells you what the thing actually is, not just that it is "an ENI".

$ awho --demo 10.42.13.7

10.42.13.7
  2 matches, best first — this address exists in more than one place
  account  111111111111  (prod-payments)
  vpc      vpc-0a1b2c3d  10.42.0.0/16  eu-west-1
  subnet   subnet-0f9e1a2b  10.42.12.0/22  eu-west-1b
  eni      eni-0c4d5e6f  in-use
  owner    VPC Endpoint  vpce-0a1b2c3d4e5f60718
  tags     team=payments  cost-center=4471
  index    demo (synthetic data, not your infrastructure)
  ...

Status: pre-alpha

Version 0.0.x only works against a built-in synthetic index (--demo). It does not talk to AWS yet. What is in place:

  • ENI decoder that identifies the owner from structured signals first (InterfaceType, requester, instance attachment) and reads the description only as a last resort. The rules are data, in decode/services.json.
  • Lookups by IPv4 address (including secondary private IPs) or eni-… ID.
  • Every match is returned, ranked. An address that exists in two accounts is shown twice, never silently resolved to one.
  • RAM-shared subnets: the ENI's account and the VPC's account are shown separately.

Coming next: awho index build (read-only sweep of every account in the Organization into a local SQLite index), awho index status, and the second hop from ENI to the load balancer, endpoint service or task behind it.

Install

pipx install awho
awho --demo 10.42.13.7

Python 3.11+.

Usage

awho [--demo] [--json] [--account ID] <ip | eni-id>

Data goes to stdout; warnings and errors go to stderr, so awho --json … | jq works. Exit codes: 0 found, 1 not found, 2 usage error, 3 index missing or unreadable.

Licence

Apache-2.0.

Metadata

Release files for awho 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for awho 0.0.1
File Size Uploaded
awho-0.0.1.tar.gz 16.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for awho 0.0.1
File Interpreter ABI Platform
awho-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 35.8 kB

Release files / awho-0.0.1.tar.gz

Download URL awho-0.0.1.tar.gz
Size 16.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4ddd708d01ce5865ab5522bc4a2ebcd71e0089133ed804c9a940add898d6c0f4
BLAKE2b-256 checksum
How to use checksums
30c531799c0923ab97fbd0a0f47e63c804abecdc9a08097eb8825c138901c618
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / awho-0.0.1-py3-none-any.whl

Download URL awho-0.0.1-py3-none-any.whl
Size 18.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8ab6ab6cf40feabb8c228e0dda4386c66104e10bae3df9dd6173b60f1accc3d9
BLAKE2b-256 checksum
How to use checksums
34fdd9f65328068cf51685e6af034f9288597d1fc5e41d20f49a874e7521a437
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page