ฉันทำงานเครือข่ายย่อยในหัวของฉันได้แย่มาก มีเครื่องมือบรรทัดคำสั่งสำหรับ linux (ubuntu packages a plus) ที่ให้ฉันใส่255.255.255.224
และมันจะบอกฉันว่าเป็น/27
?
ฉันทำงานเครือข่ายย่อยในหัวของฉันได้แย่มาก มีเครื่องมือบรรทัดคำสั่งสำหรับ linux (ubuntu packages a plus) ที่ให้ฉันใส่255.255.255.224
และมันจะบอกฉันว่าเป็น/27
?
คำตอบ:
ipcalcสามารถทำได้เช่น:
[kbrandt@kbrandt-opadmin: ~] ipcalc 192.168.1.1/24
Address: 192.168.1.1 11000000.10101000.00000001. 00000001
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 192.168.1.0/24 11000000.10101000.00000001. 00000000
HostMin: 192.168.1.1 11000000.10101000.00000001. 00000001
HostMax: 192.168.1.254 11000000.10101000.00000001. 11111110
Broadcast: 192.168.1.255 11000000.10101000.00000001. 11111111
Hosts/Net: 254 Class C, Private Internet
หากคุณป้อนซับเน็ตมาสก์แทนที่จะเป็น CIDR คุณจะยังคงเห็นหมายเลข / ## CIDR หลังจาก 'เครือข่าย:' ดังนั้นมันจึงไปได้ทั้งสองวิธี
หรือด้วยsipcalc :
[kbrandt@kbrandt-opadmin: ~] sipcalc 192.168.1.1/24 <23403@8:55>
-[ipv4 : 192.168.1.1/24] - 0
[CIDR]
Host address - 192.168.1.1
Host address (decimal) - 3232235777
Host address (hex) - C0A80101
Network address - 192.168.1.0
Network mask - 255.255.255.0
Network mask (bits) - 24
Network mask (hex) - FFFFFF00
Broadcast address - 192.168.1.255
Cisco wildcard - 0.0.0.255
Addresses in network - 256
Network range - 192.168.1.0 - 192.168.1.255
Usable range - 192.168.1.1 - 192.168.1.254
แพ็คเกจอูบุนตูคือ ipcalc และ sipcalc:
sudo apt-get install ipcalc
sudo apt-get install sipcalc
netmaskสนับสนุนการหา subnets ชุดน้อยที่สุดโดยอัตโนมัติสำหรับช่วง IP เฉพาะซึ่งฉันพบว่ามีประโยชน์ ตัวอย่างเช่น:
# netmask -c 10.32.0.0:10.255.255.255
10.32.0.0/11
10.64.0.0/10
10.128.0.0/9
ลองทั้งsipcalcหรือipcalc
คุณสามารถใช้สคริปต์ทุบตีที่อยู่ที่นี่เพื่อแปลงจาก cidr เป็น mask และ mask เป็นสัญกรณ์ cidr:
นี่คือสำเนาของสคริปต์เพื่อให้แน่ใจว่าคำตอบนั้นมีอยู่ที่นี่เสมอ:
mask2cdr ()
{
# Assumes there's no "255." after a non-255 byte in the mask
local x=${1##*255.}
set -- 0^^^128^192^224^240^248^252^254^ $(( (${#1} - ${#x})*2 )) ${x%%.*}
x=${1%%$3*}
echo $(( $2 + (${#x}/4) ))
}
cdr2mask ()
{
# Number of args to shift, 255..255, first non-255 byte, zeroes
set -- $(( 5 - ($1 / 8) )) 255 255 255 255 $(( (255 << (8 - ($1 % 8))) & 255 )) 0 0 0
[ $1 -gt 1 ] && shift $1 || shift
echo ${1-0}.${2-0}.${3-0}.${4-0}
}
ตัวอย่างเช่นวิ่ง:
mask2cdr 255.255.255.255
ผลตอบแทน 32
ฉันใช้ ipcalc สำหรับเครือข่ายเครือข่ายย่อย แต่ จำกัด เฉพาะที่อยู่ IPv4
คุณสามารถใช้subnetcalcรองรับทั้ง IPv4 และ IPv6