Изучение методов отображения частных и общедоступных IP-адресов в сценариях Bash

В этой статье блога мы рассмотрим различные методы отображения как частных, так и общедоступных IP-адресов с помощью сценариев Bash. Знание того, как получить эти IP-адреса, имеет решающее значение для настройки сети и устранения неполадок. Мы предоставим примеры кода для каждого метода, чтобы помочь вам понять реализацию. Давайте погрузимся!

Метод 1: использование команды ifconfig
Команда ifconfig обычно используется для отображения информации о сетевом интерфейсе, включая IP-адреса. Вот пример:

#!/bin/bash
# Get private IP address
private_ip=$(ifconfig eth0 | grep 'inet ' | awk '{print $2}')
echo "Private IP address: $private_ip"
# Get public IP address
public_ip=$(curl -s https://ipinfo.io/ip)
echo "Public IP address: $public_ip"

Метод 2: использование команды ip
Команда ip является альтернативой ifconfig для получения информации о сети. Вот пример:

#!/bin/bash
# Get private IP address
private_ip=$(ip addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
echo "Private IP address: $private_ip"
# Get public IP address
public_ip=$(curl -s https://ipinfo.io/ip)
echo "Public IP address: $public_ip"

Метод 3: извлечение IP-адресов из выходных данных ifconfig
Если вы предпочитаете анализировать выходные данные ifconfig напрямую, вы можете использовать регулярные выражения для извлечения IP-адресов. Вот пример:

#!/bin/bash
# Get private IP address
private_ip=$(ifconfig eth0 | awk '/inet / {match($0, /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/); print substr($0, RSTART, RLENGTH)}')
echo "Private IP address: $private_ip"
# Get public IP address
public_ip=$(curl -s https://ipinfo.io/ip)
echo "Public IP address: $public_ip"

Метод 4: использование команды Hostname
Команду hostname можно использовать для получения IP-адреса, связанного с именем хоста системы. Вот пример:

#!/bin/bash
# Get private IP address
private_ip=$(hostname -I | awk '{print $1}')
echo "Private IP address: $private_ip"
# Get public IP address
public_ip=$(curl -s https://ipinfo.io/ip)
echo "Public IP address: $public_ip"

В этой статье мы рассмотрели несколько методов отображения частных и общедоступных IP-адресов с помощью сценариев Bash. Мы рассмотрели такие команды, как ifconfig, ip и имя хоста, а также примеры кода для каждого метода. Эти методы помогут вам получить необходимую информацию об IP-адресе для настройки сети и устранения неполадок. Удачных сценариев!