从 IP 列表中排除来自俄罗斯的 IP

从 IP 列表中排除来自俄罗斯的 IP

我应该使用 Bash 中的哪个命令来从 IP 列表中排除所有来自俄罗斯的 IP?

我想到也许可以借助geoiplookup。我真正想要的结果是什么;

  • 原始IP列表.txt
  • 排除来自俄罗斯的 IP 的 IP 列表.txt

答案1

您可以在网页中找到俄罗斯 IP 列表 俄罗斯联邦 IP 地址范围。该列表目前包含 8381 个范围,从而分配了 45,626,826 个 IP 地址。

如果您更愿意使用编程解决方案,您可以使用该网站ipinfo.io,每天免费提供 1000 个请求:

curl ipinfo.io/23.66.166.151

您也可以选择使用ifconfig.meipstack.com,每个都有自己的免费和付费计划。

答案2

对于那些像我之前一样寻找答案的人;

while read -r ip; do gl=$(geoiplookup "$ip") || continue; case "$gl" in *': RU,'*) printf '%s\n' "$ip" ;; esac; done  <"$1"

享受!

相关内容