今天要介紹netmask
,是可以讓我們自由轉換各種不同表示類型的網路地址以及子網遮罩,在劃分子網路的時候也相當實用,另外也提供了十進位IP位址的16/8/2進位轉換,在寫網路程式的時候相當有幫助,先來看一下他支援的功能。
-h, --help Print a summary of the options
-v, --version Print the version number
-d, --debug Print status/progress information
-s, --standard Output address/netmask pairs
-c, --cidr Output CIDR format address lists
-i, --cisco Output Cisco style address lists
-r, --range Output ip address ranges
-x, --hex Output address/netmask pairs in hex
-o, --octal Output address/netmask pairs in octal
-b, --binary Output address/netmask pairs in binary
-n, --nodns Disable DNS lookups for addresses
-f, --files Treat arguments as input files
Definitions:
a spec can be any of:
address
address:address
address:+address
address/mask
an address can be any of:
N decimal number
0N octal number
0xN hex number
N.N.N.N dotted quad
hostname dns domain name
a mask is the number of bits set to one from the left
因為用法很簡單,所以直接上範例-s
表--standard
輸出標準的IP與子網遮罩格式
netmask -s 192.168.0.0/24
192.168.0.0/255.255.255.0
netmask -s 192.168.0.0/22
192.168.0.0/255.255.252.0
-c
表--CIDR
netmask -c google.com
143.142.251.42.238/32
2404:6800:4012:1::200e/128
-r
表--range
,輸出在範圍內的IP地址
這個例子就表示192.168.0.0/24涵蓋了192.168.0.0到192.168.0.255共256組IP
netmask -r 192.168.0.0/24
192.168.0.0-192.168.0.255 (256)
也可以用:
來指定範圍
netmask -r 192.168.0.0:192.168.0.255
192.168.0.0-192.168.0.255 (256)
netmask -r 192.168.0.0:+255
192.168.0.0-192.168.0.255 (256)