[Mac] 使用 cidr2range/grep2cidr 快速展開與搜尋 CIDR 的 IP 範圍

[Mac] 使用 cidr2range/grep2cidr 快速展開與搜尋 CIDR 的 IP 範圍

CIDR (Classless Inter-Domain Routing) 的 IP 範圍 (range) 表示法,

一直覺得很不行,因為常常很難一眼看出來它的範圍到哪裡…

舉例來說,10.141.194.0/22 這個 CIDR 的範圍是多少呢?

我大概都只能上網查…

 

在 Homebrew 裡搜尋了一下,發現有兩個相關的 CLI 工具還不錯,

分別是 cidr2range 和 grepcidr~

 

1. 使用 cidr2range 列出 CIDR 的 IP 範圍

首先在 Mac 上安裝 cidr2range:

brew install cidr2range

 

使用方法很簡單,給它一個 CIDR 就行了,

它就會將範圍展開來給你看:

$ cidr2range 10.141.194.0/24
10.141.194.0-10.141.194.255

$ cidr2range 10.141.194.0/23
10.141.194.0-10.141.195.255

$ cidr2range 10.141.194.0/22
10.141.192.0-10.141.195.255

 

有了這個範圍,應該可以很清楚的看出來,

某個 IP 是不是在這個 CIDR 裡面了~

不過如果想用程式的方法辨別,我們還可以用 grepcidr

 

2. 使用 grepcidr 檢查 IP 位址是否在 CIDR 裡

首先在 Mac 上安裝 grepcidr:

brew install grepcidr

 

接著就跟一般的 grep 使用法類似,把 CIDR 當做要比對的字串,

丟給它要搜尋的 IP 位址,有中的話就會顯示,沒中的話就沒東西。

像下面就可以看出來 10.141.192.5 有在 10.141.194.0/22 裡,但 10.141.191.5 沒有:

$ echo 10.141.192.5 | grepcidr 10.141.194.0/22
10.141.192.5

$ echo 10.141.191.5 | grepcidr 10.141.194.0/22
(nothing)

 

這兩個算是不錯用的工具,可以快速解決 CIDR 的困擾囉~

(本頁面已被瀏覽過 55 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料