Identify to which AWS service network interface is associated
pip install aws-eni-identifieraws-eni-identifier does not connect to AWS by itself, so you will need to load data with aws-cli
Login to aws:
aws sso login --profile my-profileUse pipe:
aws ec2 describe-network-interfaces | aws-eni-identifierOr save to file with aws-cli and read it:
aws ec2 describe-network-interfaces > ni.json
aws-eni-identifier -i ni.jsonaws ec2 describe-network-interfaces |
aws-eni-identifier \
--add-column Attachment.Status \
--add-column AvailabilityZoneFind unused network interfaces:
aws ec2 describe-network-interfaces \
--filters "Name=status,Values=available" |
aws-eni-identifierFind AWS resource by IP address (you can use public or private IP address)
export IP='51.21.223.193';
aws ec2 describe-network-interfaces \
--query "NetworkInterfaces[?PrivateIpAddresses[?PrivateIpAddress=='${IP}' || Association.PublicIp=='${IP}']]" |
aws-eni-identifierDetermine what is using specific AWS network interface
aws ec2 describe-network-interfaces \
--network-interface-ids eni-0068ac3f8786de59a |
aws-eni-identifierYou can find more information about filters and queries in AWS documentation
Install the package:
poetry installRun tests:
poetry run pytest

