En lenguaje sencillo, las direcciones IP pueden considerarse direcciones de casas. Así como tenemos una dirección de casa única para cada casa, tenemos una dirección IP única para cada dispositivo único en la red. Una dirección IP se utiliza para identificar de forma única un dispositivo en una red de protocolo de Internet.
Ejemplo de una dirección IP:
192.0.2.1/24
Aquí, 192.0.2.1 se llama ID de red y 24 es la ID de host. Podemos pensar en la identificación de la red como un nombre de calle y la identificación del host es un número de casa único.
Escribiendo Shell Script para enumerar todas las direcciones IP
Método 1: Usando el comando de nombre de host:
El nombre de host es un comando que se usa para mostrar información detallada sobre el nombre de host en Linux, el nombre de host es un nombre de dominio único asignado a una computadora. Puede ver el nombre de host de su dispositivo escribiendo el comando de nombre de host en la terminal.
Dominio:
hostname -I
Aquí, «-I» se usa para enumerar todas las direcciones IP.
Producción:
Escribamos un script para listar todas las IP.
Después de obtener toda la IP, divida estas direcciones IP por espacio. Muestra la salida formateada.
Guion:
#! /bin/bash # saving all the ip addresses ip_addresses=$(hostname -I) # splitting them by space ip_addresses=(${ip_addresses//" "/ }) # Print each ip address line by line echo "LIST OF IP ADDRESSES" for ip in "${ip_addresses[@]}"; do printf "$ip\n" done
Producción:
Nota: nombre de host : no mostraré la dirección ip6 de enlace local porque se configura automáticamente para cada interfaz que admite IPv6.
Método 2: Usando el comando awk:
awk es un lenguaje de programación de comparación de patrones completo de Turing ampliamente utilizado con otros comandos de Linux para la comparación de patrones y la extracción de datos.
Guion:
#! /bin/bash # Extracting lines that match the following pattern ip=$(ip address| awk '/inet/ {print $2}' | grep -v ^::1 | grep -v ^127) #displaying IP addresses echo "LIST OF IP ADDRESSES" echo "$ip"
Aquí, la dirección IP enumerará la información sobre las redes, incluidas sus direcciones IP, usando awk ‘/inet/ {printf $2}’ estamos encontrando patrones que comienzan con inet e imprimiendo las direcciones. Y grep -v ^::1 invertirá la coincidencia que contiene «::1», de manera similar, no queremos enumerar nuestro localhost como una dirección IP, por lo que lo omitiremos usando grep -v ^ 127 .
Producción :
Publicación traducida automáticamente
Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA