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, — практический навык, который ценится.