Shell Script para listar todas las IP

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:

Shell Script to List All IP

Direcciones IP

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:

Shell Script to List All IP

Lista de direcciones IP

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 :

Shell Script to List All IP

Lista de direcciones IP

Publicación traducida automáticamente

Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *