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, indecode/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)
| File | Size | Uploaded | |
|---|---|---|---|
| awho-0.0.1.tar.gz | 16.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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