Aws_Public_Ips:获取AWS账户关联的所有IP地址(IPv4IPv6)的工具
Aws_Public_Ips是一个可帮助你获取与AWS账户关联的,所有IP地址(IPv4/IPv6) 的工具。它可以被作为库和CLI使用,并支持以下AWS服务(均支持Classic和VPC平台):
APIGateway
CloudFront
EC2(ECS, EKS, Beanstalk, Fargate, Batch, NAT 实例)
ElasticSearch
ELB (Classic ELB)
ELBv2 (ALB/NLB)
Lightsail
RDS
Redshift
如果服务未被列出(如S3,ElastiCache等),则很可能是因为它没有任何的支持(即它可能无法公开部署,并可能将所有IP地址解析到全局AWS基础架构等)。
快速启动
安装 gem 并运行:
$ gem install aws_public_ips
# Uses default ~/.aws/credentials
$ aws_public_ips
52.84.11.13
52.84.11.83
2600:9000:2039:ba00:1a:cd27:1440:93a1
2600:9000:2039:6e00:1a:cd27:1440:93a1
# With a custom profile
$ AWS_PROFILE=production aws_public_ips
52.84.11.159
CLI 命令
$ aws_public_ips --help
Usage: aws_public_ips [options]
-s, --services <s1>,<s2>,<s3> 要检查的AWS服务列表。可用服务:apigateway,cloudfront,ec2,elasticsearch,elb,elbv2,lightsail,rds,redshift。默认为全部。
-f, --format <format> 设置输出格式。支持的格式有:json,prettyjson,text。默认以文本格式输出。
-v, --[no-]verbose 启用 debug/trace 输出
--version 打印版本
-h, --help 显示帮助信息
配置
对于身份验证,aws_public_ips会使用默认的aws-sdk-ruby配置,检查顺序及内容如下:
1. 环境变量:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_REGION
AWS_PROFILE
共享凭证文件:
~/.aws/credentials
~/.aws/config
如果运行在EC2, ECS, EKS, 或 Fargate上,则会检查实例配置文件(通过元数据端点)。
IAM 权限
想要从所有AWS服务中查找公网IP, IAM user所需的最小策略如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"apigateway:GET",
"cloudfront:ListDistributions",
"ec2:DescribeInstances",
"elasticloadbalancing:DescribeLoadBalancers",
"lightsail:GetInstances",
"lightsail:GetLoadBalancers",
"rds:DescribeDBInstances",
"redshift:DescribeClusters"
],
"Resource": "*"
}
]
}
*参考来源:github,FB小编 secist 编译,转载请注明来自FreeBuf.COM
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐