Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Това е лесен за използване BASH скрипт, който показва както публична, така и частна информация за IP адрес в Linux. Скриптът използва curl
за получаване на публична информация от външна услуга и вградени команди за локалната информация.
curl
и jq
са инсталирани. curl
се използва за извличане на публична информация за IP адреса, а jq
се използва за по-удобен формат на JSON данните.Този скрипт ще продължи да работи, докато потребителят не реши да излезе чрез избиране на опция 4
или отговаряйки с не
на въпроса за нов избор.
За да използвате скрипта, запишете го в текстов файл (например ip_info.sh
), направете го изпълним с командата chmod +x ip_info.sh
, и го стартирайте с ./ip_info.sh
.
#!/bin/bash
# Скрипт за показване на частна и публична информация за IP адрес
# Проверка дали curl е инсталиран
if ! command -v curl &> /dev/null; then
echo "Моля, инсталирайте curl, за да използвате този скрипт."
exit 1
fi
# Функция за показване на публична информация за IP
function show_public_ip_info {
echo "Публична информация за IP:"
public_ip=$(curl -s ifconfig.me)
echo "Публичен IP адрес: $public_ip"
echo "Информация за публичен IP:"
curl -s ipinfo.io/$public_ip | jq .
echo
}
# Функция за показване на частна информация за IP
function show_private_ip_info {
echo "Частна информация за IP:"
private_ip=$(hostname -I | awk '{print $1}')
echo "Частен IP адрес: $private_ip"
echo "Информация за мрежов интерфейс:"
ip addr show | grep -A2 "$private_ip"
echo
}
# Проверка дали jq е инсталиран
if ! command -v jq &> /dev/null; then
echo "Моля, инсталирайте jq, за да използвате този скрипт за по-добър формат на JSON данни."
echo "Опитвам се да покажа информация без jq..."
show_public_ip_info() {
echo "Публична информация за IP:"
public_ip=$(curl -s ifconfig.me)
echo "Публичен IP адрес: $public_ip"
echo "Информация за публичен IP:"
curl -s ipinfo.io/$public_ip
echo
}
fi
# Функция за показване на меню
function show_menu {
echo "Изберете опция:"
echo "1. Показване на публична информация за IP"
echo "2. Показване на частна информация за IP"
echo "3. Показване на цялата информация (публична и частна)"
echo "4. Изход"
}
# Основен цикъл
while true; do
show_menu
read -p "Вашият избор (1/2/3/4): " choice
case $choice in
1)
show_public_ip_info
;;
2)
show_private_ip_info
;;
3)
show_public_ip_info
show_private_ip_info
;;
4)
echo "Изход."
exit 0
;;
*)
echo "Невалиден избор. Моля, опитайте отново."
;;
esac
# Опция за повторение или изход
read -p "Желаете ли да направите нов избор? (да/не): " again
if [[ "$again" != "да" ]]; then
echo "Изход."
exit 0
fi
done
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut