Вы — начинающий разработчик в IT-компании. Вам поступило пять «дел» — сетевых проблем, с которыми сталкиваются программисты. Ваша задача — диагностировать каждую проблему с помощью сетевых инструментов Windows и предложить решение.
Win + R, введите cmd, нажмите Enter.Win, введите cmd, откройте «Командная строка».Win + X → «Терминал» или «Windows PowerShell».Для некоторых команд (например, curl) можно использовать PowerShell — он встроен в Windows 10/11.
Пользователь жалуется: «Браузер пишет ERR_NAME_NOT_RESOLVED, когда я открываю github.com. Но вчера всё работало».
Ваша задача: проверить, работает ли DNS, и определить, в чём проблема.
cmd → Enter).ping github.com. Что произошло?ping 140.82.121.4 (это IP GitHub). Что произошло?nslookup github.com. Что показывает?Если ping github.com выдаёт ошибку «Не удалось обнаружить узел», а ping 140.82.121.4 работает — проблема в DNS. Компьютер не может преобразовать имя в IP-адрес.
Решение: сменить DNS-сервер на публичный. Например, Google DNS (8.8.8.8) или Cloudflare (1.1.1.1).
Как сменить в Windows: Панель управления → Сеть и Интернет → Центр управления сетями → Изменение параметров адаптера → правой кнопкой по адаптеру → Свойства → IP версии 4 (TCP/IPv4) → Свойства → указать DNS вручную.
Разработчик запускает свой сервер на порту 8080, но получает ошибку: Error: listen EADDRINUSE: address already in use :::8080.
Ваша задача: найти, какой процесс занимает порт, и освободить его.
netstat -ano | findstr :8080.12345).tasklist | findstr 12345 (подставьте свой PID), чтобы узнать имя программы.taskkill /PID 12345 /F (подставьте свой PID).Порт 8080 часто занят другим экземпляром сервера, старой версией приложения или Java-процессом (если запускали Tomcat/Spring).
Если не хотите убивать процесс — можно просто запустить сервер на другом порту: 8081, 3000 и т.д. Но лучше найти и освободить.
Важно: не убивайте системные процессы (например, svchost.exe), это может нарушить работу Windows.
Frontend разработчик делает запрос к API: GET https://api.github.com/users/octocat. Но что-то идёт не так — нужно проверить ответ.
Ваша задача: с помощью curl проверить запрос, посмотреть статус-код, заголовки и тело ответа.
curl -i https://api.github.com/users/octocat.HTTP/1.1 200 OK).curl -i https://api.github.com/users/unknown-user-12345. Какой код вернётся?200 OK — успех. 404 Not Found — ресурс не найден.
curl -i показывает заголовки. Без -i — только тело ответа.
Статус-коды:
2xx — успех.4xx — ошибка клиента (неверный URL, нет прав).5xx — ошибка сервера.Важно для Windows: в PowerShell curl — это алиас для Invoke-WebRequest. Если команда работает странно, используйте curl.exe (явно) или Invoke-WebRequest.
Разработчику нужно подключиться к удалённому серверу по SSH, чтобы задеплоить проект. Но при попытке подключения возникает ошибка: Connection refused.
Ваша задача: проверить доступность сервера, порт 22 и попробовать подключиться.
ping example.com (замените на адрес вашего тестового сервера).Test-NetConnection example.com -Port 22.ssh user@example.com.Причины ошибки Connection refused:
Что делать:
ping — сервер вообще отвечает?Test-NetConnection.В Windows 10/11 SSH-клиент встроен. Если команда ssh не найдена — включите компонент «Клиент OpenSSH» в «Дополнительных компонентах Windows».
Frontend на http://localhost:3000 пытается получить данные с backend на http://localhost:8080/api/users. Браузер выдаёт ошибку CORS: Access to fetch at ... has been blocked by CORS policy.
Ваша задача: объяснить, что такое CORS, почему браузер блокирует запрос, и как это исправить на стороне сервера.
F12) → вкладка Network.Access-Control-Allow-Origin.CORS (Cross-Origin Resource Sharing) — это механизм безопасности браузера. Он запрещает запросы между разными «источниками» (origin), если сервер не разрешил их явно.
Источник = протокол + домен + порт. localhost:3000 и localhost:8080 — разные источники (разные порты).
Решение: на backend добавить заголовок Access-Control-Allow-Origin с адресом фронтенда. В Express это делается через middleware cors.
Важно: CORS — это защита браузера. Если вы делаете запрос из Postman или curl — CORS не сработает, потому что это не браузер. CORS проверяется только в браузере.
Вы прошли все пять дел. Теперь составьте краткий итог: какие инструменты вы использовали, какие проблемы решили и что нового узнали.