🖧 Как проверить IPv4-адреса в скрипте

Проверка IP-адресов – распространенная задача в сетевом и системном администрировании.

В этом уроке мы узнаем, как проверить IPv4-адреса с помощью скрипта оболочки.

Это особенно полезно в ситуациях, когда нужно убедиться, что пользовательский ввод или данные из другого источника имеют правильный формат IPv4.

IPv4 против IPv6: В чем разница между IPv4 и IPv6

Понимание формата адресов IPv4

IPv4-адрес состоит из четырех октетов, каждый из которых имеет значение от 0 до 255 и разделен точками.

Например, 192.168.1.1 – это правильный IPv4-адрес.

Bash-скрипт для проверки адреса IPv4

Откройте свой любимый текстовый редактор и запустите новый файл.

Мы будем использовать функцию для проверки IPv4-адреса.

Эта функция использует регулярные выражения для проверки соответствия вводимых данных шаблону IPv4.

#!/bin/bash

# Filename: validate_ip.sh



validate_ip() {

    local ip=$1

    local stat=1



    if [[ $ip =~ ^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$ ]]; then

        OIFS=$IFS

        IFS='.'

        ip=($ip)

        IFS=$OIFS

        [[ ${ip[0]} -le 255 && ${ip[1]} -le 255 && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]

        stat=$?

    fi



    return $stat

}



echo -n "Enter IPv4 address: "

read ip_address



if validate_ip $ip_address; then

    echo "${ip_address} is a valid IPv4 address."

else

    echo "${ip_address} is a invalid IPv4 address."

fi

Проверка скрипта

  • Сделайте скрипт исполняемым: chmod +x validate_ip.sh
  • Запустите скрипт: ./validate_ip.sh
  • Введите IPv4-адрес, когда появится запрос.

Заключение

С помощью этого простого скрипта вы можете легко проверять IPv4-адреса.

Этот скрипт можно интегрировать в более крупные проекты или использовать отдельно в сценариях, связанных с сетью.

Не стесняйтесь модифицировать и расширять его в соответствии с вашими потребностями.

Например, вы можете захотеть обрабатывать несколько IP-адресов из файла или включить дополнительное протоколирование недействительных вводов.

см. также:



2023-12-25T12:21:55
Скрипты