Herramienta de línea de comandos de Linux para trabajar con máscaras de red / notación CIDR [cerrado]


18

Soy terrible resolviendo subredes de red en mi cabeza. ¿Hay alguna herramienta de línea de comandos para Linux (paquetes de Ubuntu un plus), que me permita ingresar 255.255.255.224y me diga que es un /27?

Respuestas:


36

ipcalc puede hacer esto, por ejemplo:

[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

si ingresó una máscara de subred en lugar de CIDR, aún verá el número de CIDR / ## después de 'Red:', por lo que va en ambos sentidos.

o con 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

Los paquetes de Ubuntu son ipcalc y sipcalc:

sudo apt-get install ipcalc
sudo apt-get install sipcalc

2
Interesante salida. La utilidad ipcalc en Fedora (escritora de Redhat) es mucho más lenta.
fpmurphy

también whatmask para fedora
sivann

4

netmask admite automáticamente la determinación de conjuntos mínimos de subredes para un rango de IP particular, lo que me parece útil. Por ejemplo:

# 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



2

Podrías usar los scripts de bash ubicados aquí para convertir de cidr a máscara y la notación de máscara a cidr:

Aquí hay una copia de lo que son los scripts, para garantizar que la respuesta siempre esté disponible aquí:

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}
}

así, por ejemplo, ejecutando:

mask2cdr 255.255.255.255 devoluciones 32


1

Uso ipcalc para subredes de red, pero está limitado a direcciones IPv4.
puede usar subnetcalc , es compatible con IPv4 e IPv6.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.