[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 的困擾囉~
(本頁面已被瀏覽過 248 次)