Gymterview
middle

Какие сетевые утилиты есть в Linux и как ими пользоваться?

Набор сетевых утилит, которые Java-разработчик использует для диагностики сетевых проблем.

ip — управление сетевыми интерфейсами

Пример
ip addr show     # Показать IP-адреса на интерфейсах (ip a)
ip route show    # Показать таблицу маршрутизации (ip r)
ip link show     # Показать состояние интерфейсов (up/down)

ss — просмотр сетевых соединений (замена netstat)

Пример
ss -tlnp                 # Все слушающие TCP-порты
ss -tnp                  # Все установленные соединения
ss -tlnp | grep 8080     # Найти, кто слушает порт 8080

Флаги: -t TCP, -u UDP, -l listening, -n номера портов (без DNS), -p имя процесса.

ping — проверка доступности хоста

Пример
ping -c 4 google.com    # 4 пакета
ping -W 2 10.0.0.1      # Таймаут 2 секунды

dig — DNS-запросы

Пример
dig example.com              # Разрешить домен
dig +short example.com       # Только IP-адрес
dig example.com MX           # Конкретный тип записи
dig @8.8.8.8 example.com    # Использовать конкретный DNS-сервер

curl — HTTP-запросы из командной строки

Примеры использования curl
# GET-запрос
curl http://localhost:8080/api/health

# POST с JSON-телом
curl -X POST http://localhost:8080/api/users \
  -H "Content-Type: application/json" \
  -d '{"name": "John", "email": "john@example.com"}'

# Показать заголовки ответа
curl -I http://localhost:8080

# Подробный вывод (для отладки)
curl -v http://localhost:8080

# Скачать файл
curl -O https://example.com/file.tar.gz

# С авторизацией
curl -u user:password http://localhost:8080/api/admin

# Следовать редиректам
curl -L http://example.com

# Таймаут
curl --connect-timeout 5 --max-time 30 http://localhost:8080

wget — скачивание файлов

Пример
wget https://example.com/file.tar.gz
wget -O output.tar.gz https://example.com/file.tar.gz

На собеседовании: интервьюер ожидает знание ss -tlnp (кто слушает порт), curl (отладка HTTP) и dig (DNS). Частая ошибка — использовать устаревший netstat вместо ss. Умение быстро проверить, почему приложение не отвечает на порту 8080, — практический навык, который ценится.