6个版本
0.7.0 | 2024年8月7日 |
---|---|
0.6.1 | 2024年7月30日 |
0.5.4 | 2024年7月27日 |
821 在 网络编程
每月672次下载
95KB
1.5K SLoC
awsipranges
快速查询AWS IP范围
awsipranges
允许您从命令行搜索、过滤和使用公共 AWS IP地址范围,而无需编写复杂的JSON解析脚本或命令。此单一功能的CLI工具允许您快速回答诸如
- 某个IPv4/IPv6地址是否是公共AWS IP地址?
- 它属于哪个区域?
- 它属于哪些服务?
- 它属于哪些超网?
<some-cidr-block>
的超网是什么?- 哪些服务在
ip-ranges.json
文件中发布了它们的IP范围? <some-supported-service>
在<some-region>
中使用了哪些IP范围?<some-region>
连接了哪些本地/Wavelength区域?<some-local-zone>
的IP范围是什么?
您可以通过过滤JSON文件来获取一些☝️问题的答案,但awsipranges
功能使过滤更加便捷。awsipranges
可以解析并理解IPv4和IPv6 CIDR的结构,允许您像处理结构化数据一样处理IP地址范围,使您能够以人类和机器友好的格式输出结果。
如果您觉得这个项目很有用,请考虑在GitHub上给它一个星⭐。您的支持将非常感谢!
功能
- 检索和缓存:
ip-ranges.json
到${HOME}/.aws/ip-ranges.json
;默认情况下,每24小时刷新一次缓存。 - 搜索:针对IPv4/IPv6地址或CIDR(任何前缀长度)进行搜索,查看包含提供地址或CIDR的AWS IP地址范围。
- 过滤:通过区域、服务、网络边界组和IP版本(IPv4/IPv6)过滤IP地址范围。
- 多种输出格式:表格、CIDR和网络掩码输出格式,便于与其他工具集成。
- 保存结果到CSV:将搜索和过滤结果保存到CSV文件,以便在您喜欢的电子表格应用程序中进行程序化使用或分析。
- Rust包:此命令行工具的核心功能也可以作为库使用,允许您轻松将其添加到您的Rust工具或应用程序中。
安装
您可以从源代码构建并安装awsipranges
或安装预构建的二进制文件。awsipranges
支持
OS | arm64 (AArch64) | amd64 (x86_64) | 系统C库 |
---|---|---|---|
macOS | ✅ Apple硅芯片 | ✅ Intel硅芯片 | |
Linux | ✅ | ✅ | GNU (glibc) Musl (libc) |
Windows 10+ | ✅ | MSVC |
遵循Rust平台支持以了解支持的靶机和操作系统以及库版本依赖关系。
预构建的二进制文件
您可以从发布页面下载并安装预构建的二进制文件,或使用以下安装脚本,这些脚本将为您选择并安装正确的二进制文件。
Homebrew
brew install cmlccie/tap/awsipranges
Shell脚本
请参阅发布页面以获取最新的{{version}}
。
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/cmlccie/awsipranges/releases/download/{{version}}/awsipranges-installer.sh | sh
PowerShell脚本
请参阅发布页面以获取最新的{{version}}
。
powershell -c "irm https://github.com/cmlccie/awsipranges/releases/download/{{version}}/awsipranges-installer.ps1 | iex"
从源代码构建
要从源代码构建和安装awsipranges
,您需要在您的系统上安装Rust工具链。然后,您可以使用cargo install
下载并构建您所需的版本。
Crates.io
从crates.io安装已发布的awsipranges
版本。
cargo install awsipranges
GitHub
从GitHub的main
分支安装最新版本的awsipranges
(可能尚未发布)。
cargo install --git https://github.com/cmlccie/awsipranges.git
问题和改进
如果您遇到任何问题或错误,或者有关于改进和新特性的想法,请在我们GitHub Issues页面上报告。您的反馈是一份礼物,帮助我们为所有人改进工具!
致谢
我感谢以下团队和个人,没有他们,这个工具将无法实现或迅速构建
- 发布和维护AWS IP地址范围的AWS网络团队。
- Abhishek Chanda (@achanda),他为发布出色的ipnetwork crate,使解析和处理IPv4和IPv6前缀变得轻而易举。
- VHS - 简单而强大的终端GIF录制工具!我喜欢制作演示带有多简单!😎
- Orhun Parmaksız (@orhun),他的Rust项目的完全自动化发布博客非常出色。
其他作品
netrange
- 使用LUA脚本从多个云提供商下载和过滤IP范围。aws-ip-ranges
- 提供作为const结构体的AWS IP范围数据。
我为什么制作这个?
我经常需要从AWS IP范围中获取答案。在我为AWS工作期间,我发布了一个类似的Python库。然后,在学习Rust时,我需要一些东西来构建!😎这个工具对我很有帮助——也许它对您也很有用。
依赖项
~9–25MB
~341K SLoC