¿Cómo encontrar el formato de barra de una dirección IP?

0

Por ejemplo, en esta dirección IP: 145.32.59.24

El formato de barra debería ser / 16 en la respuesta.

Pero no tengo ni idea de cómo determinar esto.

Entiendo que esta es una dirección IP de clase B.

Por favor, ayúdame ... He estado tratando de resolver esto.

user2750830
fuente
1
vlsm-calc.net/ipclasses.php Enumera todas las clases y sus máscaras de subred. Una vez que conozca la clase, debería ser fácil venir con el 'formato de barra'.
Vinayak Garg
1
@VinayakGarg, pon esto como respuesta. Su solución le permite a uno determinar con éxito el 'formato de barra', por lo que responde a la pregunta.
VL-80
9
Nota práctica: en la vida real, esto funcionaría si Internet fuera todavía de clase. Sin embargo, con la introducción de CIDR, las clases de IP ya no se utilizan en Internet (y en la mayoría de las demás redes), por lo que es imposible determinar la máscara de una subred.
mtak

Respuestas:

4

Desde que se introdujo el enrutamiento de dominios de Internet sin clase (CIDR) en 1993, las "clases" ABC de red / host se han vuelto cada vez menos útiles y seguidas. No hay una manera confiable de determinar la partición de una dirección IPv4 en su red y los componentes del host solo a partir de la dirección. El formato / n para especificar la máscara de red supone una máscara de red contigua de tantos bits, con el resto de la derecha como la parte del host.

Entonces, la antigua clase A se expresaría como / 8, B as / 16 y C as / 24. Sin embargo, con CIDR, no está limitado a esas particiones sino que puede dividir la dirección de 32 bits de manera arbitraria. Necesita la máscara de red para determinar la / n correcta. Por el contrario, dada la / n, se puede determinar la máscara de red. Por ejemplo, / 16 tendría una máscara de red 255.255.0.0.

mpez0
fuente
1

Esto se llama la 'máscara de red'; no el 'formato de barra'. En todo caso, puede llamarlo 'notación CIDR'. El formato es generalmente irrelevante. Esto devolverá la máscara de red en dot-notation formato:

#!/bin/sh
ifconfig "$1" | sed -rn '2s/ .*:(.*)$/\1/p'

Solo llámalo como: script.sh eth0 . Si lo desea, puede analizar esto para crear la notación CIDR o puede intentar analizarlo a partir de la salida de ip addr que se muestra en notación CIDR ya. Aunque no tengo este código a la mano.

Es posible que haya notado que ninguna de estas soluciones en realidad toma una dirección IP y escupe una máscara de red. Hacer eso no es posible. La razón por la que necesitamos especificar una máscara de red al configurar nuestra IP es que la IP no puede determinarla automáticamente. La máscara de red es un filtro que se aplica a una dirección IP. Contiene información no inherente a una dirección IP. Ambas soluciones solo devuelven la máscara de red utilizada para configurar la interfaz.

krowe
fuente