какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос

Проверка кода ответа сервера и http заголовков

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Когда мы открываем любую веб-страницу нужного нам сайта вместе с HTML кодом страницы сервер передает код статуса запроса и http заголовки. По коду статуса программы могут быстро определить все ли прошло успешно или, например, такой страницы нет на сервере. Заголовки содержат информацию для браузера, которая указывает как нужно обрабатывать страницу и что с ней делать.

Обычным пользователям эта информация ни к чему, но если вы администратор сайта или технический специалист, она может быть для вас очень полезной. В этой статье мы рассмотрим как выполняется проверка кода ответа сервера и http заголовков с помощью утилиты curl.

Что такое код ответа сервера?

Для нормальной работы различных программ, работающих по протоколу HTTP сервер возвращает не только текст страницы, но и трехзначный код, который позволяет определить результат запроса. С помощью этого кода можно не только описать какая ошибка возникла во время обработки, но и перенаправить пользователя на другую страницу, или же сказать, что страница не была изменена. Вот самые распространенные коды ответа сервера:

Что такое http заголовки?

С помощью http заголовков клиент и сервер обмениваются информацией и командами между собой. Они используются для согласования метода, протокола, кодировки, языка и многих других параметров работы. Рассмотрим основные заголовки, которые будет отправлять сервер:

Все это было вступлением, чтобы вы смогли понять что мы дальше собираемся делать, поскольку мы рассмотрим не только то как посмотреть заголовки и ответ сервера, но и то какими они должны быть для вашего сайта.

Проверка кода ответа сервера с помощью cURL

Чтобы увидеть только код ответа страницы достаточно выполнить такую команду:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Или, если хотите, чтобы ответ выглядел более естественно:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Страницы вернули 200, все в порядке. Но отправляет ли сервер редирект для нужных нам страниц? Если ваш сайт работает на https, то все запросы http должны перекидываться на https, также для любого сайта, все запросы на www домен должны перенаправляться на основной, или наоборот. Запросы на ip сайта тоже в идеале должны отправляться на основной домен. Проверка http ответа:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Все работает так, как нужно. Но смотреть код ответа сервера вряд ли понадобиться, намного интереснее проверка http статусов.

Проверка http заголовков с помощью Curl

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Здесь отображается код ответа сервера, а также принятые http заголовки. Из них мы можем сделать такие выводы:

Таким способом может быть выполнена проверка http заголовков для любой страницы или ресурса чтобы сразу определить все ли отправляется правильно. Например, посмотрим заголовки для изображения:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Мы можем видеть, что картинка будет храниться в кэше намного дольше (max-age) чем html страница.

Конечно, вы можете использовать для этого онлайн сервисы, но работают они плохо и не всегда показывают верное значение. Поэтому пользуемся опять curl.

Проверка If-Modified-Since

Сначала запрашиваем нашу страницу для просмотра заголовков http, а затем копируем поле Last-Modified:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Теперь запрашиваем ее еще раз, но уже с заголовком If-Modified-Since: и ваша дата:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

В ответ вы должны получить не саму страницу, а только заголовок HTTP/1.1 304 Not Modified. Если так, значит проверка кода ответа сервера пройдена и все работает верно.

Проверка If-None-Match

Заголовок If-None-Match работает похожим образом, только здесь используется значение контрольной суммы кэша из поля ETag. Опять запросим нашу страницу и скопируем сумму:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Затем отправим полученную сумму с заголовком:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

И снова мы должны получить ответ 304, страница не изменена.

Проверка сжатия

Сжатие позволяет уменьшить размер передаваемых данных, но в то же время создает дополнительную нагрузку на сервер. Чтобы проверить поддерживает ли сервер сжатие gzip нужно отправить в запросе заголовок Accept-Encoding с параметром gzip:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

В ответе мы увидим поле Content-Encoding: gzip. Это будет означать, что сжатие используется.

Выводы

В этой статье мы рассмотрели как выполняется проверка ответа сервера и проверка http заголовков, это может быть очень полезно для аудита технической стороны вашего сайта, а также для решения определенных проблем. Надеюсь, изложенная в статье информация была вам полезной.

Источник

Проверка кода ответа сервера и http заголовков

Когда мы открываем любую веб-страницу нужного нам сайта вместе с HTML кодом страницы сервер передает код статуса запроса и http заголовки. По коду статуса программы могут быстро определить все ли прошло успешно или, например, такой страницы нет на сервере. Заголовки содержат информацию для браузера, которая указывает как нужно обрабатывать страницу и что с ней делать.

Обычным пользователям эта информация ни к чему, но если вы администратор сайта или технический специалист, она может быть для вас очень полезной. В этой статье мы рассмотрим как выполняется проверка кода ответа сервера и http заголовков с помощью утилиты curl.

Что такое код ответа сервера?

Для нормальной работы различных программ, работающих по протоколу HTTP сервер возвращает не только текст страницы, но и трехзначный код, который позволяет определить результат запроса. С помощью этого кода можно не только описать какая ошибка возникла во время обработки, но и перенаправить пользователя на другую страницу, или же сказать, что страница не была изменена. Вот самые распространенные коды ответа сервера:

Что такое http заголовки?

С помощью http заголовков клиент и сервер обмениваются информацией и командами между собой. Они используются для согласования метода, протокола, кодировки, языка и многих других параметров работы. Рассмотрим основные заголовки, которые будет отправлять сервер:

Все это было вступлением, чтобы вы смогли понять что мы дальше собираемся делать, поскольку мы рассмотрим не только то как посмотреть заголовки и ответ сервера, но и то какими они должны быть для вашего сайта.

Проверка кода ответа сервера с помощью cURL

Чтобы увидеть только код ответа страницы достаточно выполнить такую команду:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Или, если хотите, чтобы ответ выглядел более естественно:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Страницы вернули 200, все в порядке. Но отправляет ли сервер редирект для нужных нам страниц? Если ваш сайт работает на https, то все запросы http должны перекидываться на https, также для любого сайта, все запросы на www домен должны перенаправляться на основной, или наоборот. Запросы на ip сайта тоже в идеале должны отправляться на основной домен. Проверка http ответа:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Все работает так, как нужно. Но смотреть код ответа сервера вряд ли понадобиться, намного интереснее проверка http статусов.

Проверка http заголовков с помощью Curl

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Здесь отображается код ответа сервера, а также принятые http заголовки. Из них мы можем сделать такие выводы:

Таким способом может быть выполнена проверка http заголовков для любой страницы или ресурса чтобы сразу определить все ли отправляется правильно. Например, посмотрим заголовки для изображения:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Мы можем видеть, что картинка будет храниться в кэше намного дольше (max-age) чем html страница.

Конечно, вы можете использовать для этого онлайн сервисы, но работают они плохо и не всегда показывают верное значение. Поэтому пользуемся опять curl.

Проверка If-Modified-Since

Сначала запрашиваем нашу страницу для просмотра заголовков http, а затем копируем поле Last-Modified:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Теперь запрашиваем ее еще раз, но уже с заголовком If-Modified-Since: и ваша дата:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

В ответ вы должны получить не саму страницу, а только заголовок HTTP/1.1 304 Not Modified. Если так, значит проверка кода ответа сервера пройдена и все работает верно.

Проверка If-None-Match

Заголовок If-None-Match работает похожим образом, только здесь используется значение контрольной суммы кэша из поля ETag. Опять запросим нашу страницу и скопируем сумму:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Затем отправим полученную сумму с заголовком:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

И снова мы должны получить ответ 304, страница не изменена.

Проверка сжатия

Сжатие позволяет уменьшить размер передаваемых данных, но в то же время создает дополнительную нагрузку на сервер. Чтобы проверить поддерживает ли сервер сжатие gzip нужно отправить в запросе заголовок Accept-Encoding с параметром gzip:

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

В ответе мы увидим поле Content-Encoding: gzip. Это будет означать, что сжатие используется.

Выводы

В этой статье мы рассмотрели как выполняется проверка ответа сервера и проверка http заголовков, это может быть очень полезно для аудита технической стороны вашего сайта, а также для решения определенных проблем. Надеюсь, изложенная в статье информация была вам полезной.

Источник

Написание HTTP-запросов с помощью Curl

Эта статья предполагает, что вам известны основы построения сетей и язык HTML.

Увеличивающееся число приложений, которые переходят на веб, привело к тому, что тема HTTP-скриптов становится все более востребованной. Важными задачами в этой области являются автоматическое извлечение информации из интернета, отсылание или загрузка данных на web-сервера и т.п.

для получения информации о curl.

Curl не является инструментом, который будет делать все за вас. Он создает запросы, принимает данные и отсылает данные. Возможно, вам потребуется какой-то «клей» для объединения всего, возможно какой-то скриптовый язык (например bash) или несколько ручных вызовов.

1. Протокол HTTP

2. URL

3. Получить (GET) страницу

вы получите web-страницу, выведенную в ваше терминальное окно. Полный HTML-документ, который содержится по этому адресу URL.

4. Формы

4.1 GET

GET-форма использует метод GET, например следующим образом:

Если вы откроете этот код в вашем браузере, вы увидите форму с текстовым полем и кнопку с надписью «OK». Если вы введете ‘1905’ и нажмете OK, браузер создаст новый URL, по которому и проследует. URL будет представляться строкой, состоящей из пути предыдущего URL и строки, подобной «junk.cgi?birthyear=1905&press=OK».

Например, если форма располагалась по адресу «www.hotmail.com/when/birth.html», то при нажатии на кнопку OK вы попадете на URL «www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK».

Большинство поисковых систем работают таким образом.

Чтобы curl сформировал GET-запрос, просто введите то, что ожидалось от формы:

4.2 POST

Метод GET приводит к тому, что вся введенная информация отображается в адресной строке вашего браузера. Может быть это хорошо, когда вам нужно добавить страницу в закладки, но это очевидный недостаток, когда вы вводите в поля формы секретную информацию, либо когда объем информации, вводимый в поля, слишком велик (что приводит к нечитаемому URL).

Протокол HTTP предоставляет метод POST. С помощью него клиент отправляет данные отдельно от URL и поэтому вы не увидете их в адресной строке.

Форма, генерирующая POST-запрос, похожа на предыдущую:

Curl может сформировать POST-запрос с теми же данными следующим образом:

Этот POST-запрос использует ‘Content-Type application/x-www-form-urlencoded’, это самый широко используемый способ.

4.3 Загрузка файлов с помощью POST (File Upload POST)

В далеком 1995 был определен дополнительный способ передавать данные по HTTP. Он задокументирован в RFC 1867, поэтому этот способ иногда называют RFC1867-posting.

Этот метод в основном разработан для лучшей поддержки загрузки файлов. Форма, которая позволяет пользователю загрузить файл, выглядит на HTML примерно следующим образом:

Заметьте, что тип содержимого Content-Type установлен в multipart/form-data.

Чтобы отослать данные в такую форму с помощью curl, введите команду:

4.4 Скрытые поля

Простой пример формы с одним видимым полем, одним скрытым и кнопкой ОК:

Чтобы отправить POST-запрос с помощью curl, вам не нужно думать о том, скрытое поле или нет. Для curl они все одинаковы:

4.5 Узнать, как выглядит POST-запрос

Когда вы хотите заполнить форму и отослать данные на сервер с помощью curl, вы наверняка хотите, чтобы POST-запрос выглядел точно также, как и выполненный с помощью браузера.

Простой способ увидеть свой POST-запрос, это сохранить HTML-страницу с формой на диск, изменить метод на GET, и нажать кнопку ‘Отправить’ (вы можете также изменить URL, которому будет передаваться данные).

Вы увидите, что данные присоединились к URL, отделенные символами ‘?’, как и предполагается при использовании GET-форм.

5. PUT

Пожалуй, лучший способ загружать данные на HTTP-сервер, это использовать PUT. Опять же, это требует программы (скрипта) на серверной части, которая знает, что делать и как принимать поток HTTP PUT.

Отослать файл на сервер при помощи curl:

6. Аутентификация

Указание curl использовать имя пользователя и пароль:

Заметьте, что когда curl работает, строка запуска (а вместе с этим и ключи, и пароли) могут быть видны другим пользователям вашей системы в списке задач. Есть способы предотвратить это. Об этом ниже.

7. Referer

HTTP-запрос может включать поле ‘referer’, которое указывает, с какого URL пользователь пришел на данный ресурс. Некоторые программы/скрипты проверяют поле ‘referer’ и не выполняют запрос, если пользователь пришел с неизвестной страницы. Хотя это и глупый способ проверки, тем не менее многие скрипты используют его. С помощью curl вы можете вписать что угодно в поле ‘referer’ и таким образом заставлять выполнять то, что вам нужно.

Это делается следующим образом:

8. User Agent

Все HTTP-запросы поддерживают поле ‘User-Agent’, в котором указывается клиентское приложение пользователя. Многие web-приложения используют эту информацию, чтобы тем или иным способом отобразить страницу. Web-программисты создают несколько версий страницы для пользователей разных браузеров в целях улучшения внешнего вида, использования различных скриптов javascript, vbscript и т.д.

Иногда вы можете обнаружить, что curl возвращает страницу не такой, какой вы ее видели в своем браузере. В этом случае как раз уместно использовать поле ‘User Agent’, чтобы в очередной раз обмануть сервер.

Замаскировать curl под Internet Explorer на машине с Windows 2000:

Почему бы не стать Netscape 4.73 на Linux-машине (PIII):

9. Перенаправления (redirects)

По умолчанию curl не идет по адресу, указанному в ‘Location:’, а просто показывает страницу как обычно. Но можно его направить следующим образом:

10. Cookies

Когда клиент соединяется с сервером по адресу, указанному в принятом cookie, клиент посылает этот cookie к серверу (если время жизни не истекло).

Многие приложения и сервера используют этот метод, чтобы объединить нескольких запросов в одну логическую сессию. Чтобы curl также мог выполнять такую функцию, мы должны уметь сохранять и отправлять cookies, как и делают браузеры.

Простейший способ отправить cookie к серверу при получении страницы с помощью curl, это добавить соответствующий ключ в командной строке:

Cookies отправляются как обычные HTTP-заголовки. Это позволяет curl сохранять cookies, сохраняя заголовки. Сохранение cookies с помощью curl выполняется командой:

У curl имеется полнофункциональный обработчик cookies, который полезен, когда вы хотите соединиться в очередной раз к серверу и использовать cookies, сохраненные в прошлый раз (либо подработанные вручную). Для использования cookies, сохраненных в файле, вызовите curl так:

11. HTTPS

Есть несколько способов обезопасить ваши HTTP-передачи. Наиболее известным протоколом, решающим эту задачу, является HTTPS, или HTTP over SSL. SSL зашифровывает все посылаемые и принимаемые по сети данные, что увеличивает вероятность того, что ваша информация останется в тайне.

Curl поддерживает запросы к HTTPS-серверам благодаря свободно распространяемой библиотеке OpenSSL. Запросы происходят обычным способом:

11.1 Сертификаты

В мире HTTPS для аутентификации в дополнение к имени пользовавателя и паролю вы используете сертификаты. Curl поддерживает сертификаты на стороне клиента. Все сертификаты заперты ключевой фразой, которую вам нужно ввести прежде чем curl может начать с ними работу. Ключевая фраза может быть указана либо в командной строке, либо введена в интерактивном режиме. Сертификаты в curl используются следующим образом:

12. Произвольные заголовки запроса

Возможно, вам понадобится изменять или добавлять элементы отдельных запросов curl.

К примеру, вы можете изменить запрос POST на PROPFIND и отправить данные как «Content-Type: text/xml» (вместо обычного Content-Type):

Вы можете удалить какой-нибудь заголовок, указав его без содержимого. Например, вы можете удалить заголовок ‘Host:’, тем самым сделав запрос «пустым»:

Также вы можете добавлять заголовки. Возможно, вашему серверу потребуется заголовок ‘Destination:’:

13. Отладка

Часто бывает так, что сайт реагирует на запросы curl не так, как на запросы браузера. В этом случае нужно максимально уподобить curl браузеру:

Укажите в поле ‘user-agent’ один из последних популярных браузеров

Заполните поле ‘referer’ как это делает браузер

14. Ссылки

RFC 2616 обязательно для чтения всем, кто хочет понять протокол HTTP.

RFC 2396 объясняет синтаксис URL.

RFC 2109 определяет работу cookies.

RFC 1867 определяет формат File Upload Post.

Источник

Как посмотреть HTTP заголовки

Что такое HTTP заголовки

HTTP протокол используется при открытии сайтов и скачивании файлов из Интернета. HTTP протокол работает по принципу запрос-ответ — от клиента приходит запрос и сервер отправляет ответ. Каждый запрос и каждый ответ состоит из элементов:

Тело сообщения — это то, ради чего делается запрос — страница сайта или файл.

Заголовки — это метаинформация, которую мы обычно не видим.

В заголовках запроса могут быть такие данные как:

В заголовках ответа могут быть такие данные как:

Эта статья расскажет, как посмотреть HTTP заголовки.

Как в веб-браузере увидеть HTTP заголовки

Это самый простой способ, доступный в любой операционной системе.

Нажмите в веб-браузере F12 и откройте интересующую вас страницу. Перейдите на вкладку Network (сеть) и выберите интересующее вас подключение.

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Вначале идут Заголовки ответа (Response Headers), а затем Заголовки запроса (Request Headers), хотя, конечно же, вначале отправляется запрос и его заголовки, а затем приходит ответ.

Это удобный метод, причём вам не нужно беспокоиться о HTTPS протоколе — поскольку веб-браузер является конечным адресатом, то он может показывать уже расшифрованные данные.

Как в cURL посмотреть HTTP заголовки

Для cURL есть опции -I, -v и -i, которые делают так, что эта утилита показывает HTTP заголовки.

Разница в том, что опция -I означает использовать метод HEAD, то есть в реальности кроме HTTP заголовков ничего не будет прислано. А опция -v делает вывод более вербальным, в результате в него включаются и заголовки. Но если вы отправляете запрос по HTTPS протоколу, то с опцией -v также будут показаны данные, относящиеся к TLS рукопожатию — они не имеют отношения к HTTP заголовкам. Ещё нужно знать, что опция -I показывает только заголовки ответа, а опция -v показывает и Заголовки запроса и Заголовки ответа.

Опция -i также показывает только заголовки ответа, не показывает TLS рукопожатие, но зато показывает всё тело ответа.

Пример использования метода HEAD:

Здесь «HTTP/1.1 200 OK» это строка статуса, а всё остальное — поля HTTP заголовка.

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

Пример вербального вывода:

Отправленные на веб сервер заголовки имеют в начале символ >, а полученные с веб-сервера строки начинаются на

Источник

7 сетевых Linux-команд, о которых стоит знать системным администраторам

Существуют Linux-команды, которые всегда должны быть под рукой у системного администратора. Эта статья посвящена 7 утилитам, предназначенным для работы с сетью.

Этот материал — первый в серии статей, построенных на рекомендациях, собранных от множества знатоков Linux. А именно, я спросил у наших основных разработчиков об их любимых Linux-командах, после чего меня буквально завалили ценными сведениями. А именно, речь идёт о 46 командах, некоторые из которых отличает тот факт, что о них рассказало несколько человек.

какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. картинка какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос фото. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос видео. какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос смотреть картинку онлайн. смотреть картинку какой командой в linux консоли можно посмотреть http код ответа веб сервера на get запрос.

В данной серии статей будут представлены все эти команды, разбитые по категориям. Первые 7 команд, которым и посвящена эта статья, направлены на работу с сетью.

Команда ip

Команда ip — это один из стандартных инструментов, который необходим любому системному администратору для решения его повседневных задач — от настройки новых компьютеров и назначения им IP-адресов, до борьбы с сетевыми проблемами существующих систем. Команда ip может выводить сведения о сетевых адресах, позволяет управлять маршрутизацией трафика и, кроме того, способна давать данные о различных сетевых устройствах, интерфейсах и туннелях.

Синтаксис этой команды выглядит так:

Самое важное тут — это (подкоманда). Здесь можно использовать, помимо некоторых других, следующие ключевые слова:

Вывод IP-адресов, назначенных интерфейсу на сервере:

Назначение IP-адреса интерфейсу, например — enps03 :

Удаление IP-адреса из интерфейса:

Изменение статуса интерфейса, в данном случае — включение eth0 :

Изменение статуса интерфейса, в данном случае — выключение eth0 :

Изменение статуса интерфейса, в данном случае — изменение MTU eth0 :

Изменение статуса интерфейса, в данном случае — перевод eth0 в режим приёма всех сетевых пакетов:

Добавление маршрута, используемого по умолчанию (для всех адресов), через локальный шлюз 192.168.1.254, который доступен на устройстве eth0 :

Добавление маршрута к 192.168.1.0/24 через шлюз на 192.168.1.254:

Добавление маршрута к 192.168.1.0/24, который доступен на устройстве eth0 :

Удаление маршрута для 192.168.1.0/24, для доступа к которому используется шлюз 192.168.1.254:

Вывод маршрута к IP 10.10.1.4:

Команда ifconfig

Команда mtr

Синтаксис команды выглядит так:

Если вызвать эту команду, указав лишь имя или адрес хоста — она выведет сведения о каждом шаге маршрутизации. В частности — имена хостов, сведения о времени их ответа и о потерянных пакетах:

А следующий вариант команды позволяет выводить и имена, и IP-адреса хостов:

Так можно задать количество ping-пакетов, которые нужно отправить системе, маршрут к которой подвергается анализу:

А так можно получить отчёт, содержащий результаты работы mtr :

Вот — ещё один вариант получения такого отчёта:

Для того чтобы принудительно использовать TCP вместо ICMP — надо поступить так:

А вот так можно использовать UDP вместо ICMP:

Вот — вариант команды, где задаётся максимальное количество шагов маршрутизации:

Так можно настроить размер пакета:

Для вывода результатов работы mtr в формате CSV используется такая команда:

Вот — команда для вывода результатов работы mtr в формате XML:

Команда tcpdump

Утилита tcpdump предназначена для захвата и анализа пакетов.

Установить её можно так:

Прежде чем приступить к захвату пакетов, нужно узнать о том, какой интерфейс может использовать эта команда. В данном случае нужно будет применить команду sudo или иметь root-доступ к системе.

Если нужно захватить трафик с интерфейса eth0 — этот процесс можно запустить такой командой:

▍ Захват трафика, идущего к некоему хосту и от него

Можно отфильтровать трафик и захватить лишь тот, который приходит от определённого хоста. Например, чтобы захватить пакеты, идущие от системы с адресом 8.8.8.8 и уходящие к этой же системе, можно воспользоваться такой командой:

Для захвата трафика, идущего с хоста 8.8.8.8, используется такая команда:

Для захвата трафика, уходящего на хост 8.8.8.8, применяется такая команда:

▍ Захват трафика, идущего в некую сеть и из неё

Трафик можно захватывать и ориентируясь на конкретную сеть. Делается это так:

Ещё можно поступить так:

Можно, кроме того, фильтровать трафик на основе его источника или места, в которое он идёт.

Вот — пример захвата трафика, отфильтрованного по его источнику (то есть — по той сети, откуда он приходит):

Вот — захват трафика с фильтрацией по сети, в которую он направляется:

▍ Захват трафика, поступающего на некий порт и выходящего из некоего порта

Вот пример захвата трафика только для DNS-порта по умолчанию (53):

Захват трафика для заданного порта:

Захват только HTTPS-трафика:

Захват трафика для всех портов кроме 80 и 25:

Команда netstat

Если в вашей системе netstat отсутствует, установить эту программу можно так:

Ей, в основном, пользуются, вызывая без параметров:

В более сложных случаях её вызывают с параметрами, что может выглядеть так:

Можно вызывать netstat и с несколькими параметрами, перечислив их друг за другом:

Для вывода сведений обо всех портах и соединениях, вне зависимости от их состояния и от используемого протокола, применяется такая конструкция:

Для вывода сведений обо всех TCP-портах применяется такой вариант команды:

Если нужны данные по UDP-портам — утилиту вызывают так:

Список портов любых протоколов, ожидающих соединений, можно вывести так:

Список TCP-портов, ожидающих соединений, выводится так:

Так выводят список UDP-портов, ожидающих соединений:

А так — список UNIX-портов, ожидающих соединений:

Вот — команда для вывода статистических сведений по всем портам вне зависимости от протокола:

Так выводятся статистические сведения по TCP-портам:

Для просмотра списка TCP-соединений с указанием PID/имён программ используется такая команда:

Для того чтобы найти процесс, который использует порт с заданным номером, можно поступить так:

Команда nslookup

Команда nslookup используется для интерактивного «общения» с серверами доменных имён, находящимися в интернете. Она применяется для выполнения DNS-запросов и получения сведений о доменных именах или IP-адресах, а так же — для получения любых других специальных DNS-записей.

Рассмотрим распространённые примеры использования этой команды.

Получение A-записи домена:

Просмотр NS-записей домена:

Выяснение сведений о MX-записях, в которых указаны имена серверов, ответственных за работу с электронной почтой:

Обнаружение всех доступных DNS-записей домена:

Проверка использования конкретного DNS-сервера (в данном случае запрос производится к серверу имён ns1.nsexample.com ):

Проверка A-записи для выяснения IP-адресов домена — это распространённая практика, но иногда нужно проверить то, имеет ли IP-адрес отношение к некоему домену. Для этого нужно выполнить обратный просмотр DNS:

Команда ping

Команда ping — это инструмент, с помощью которого проверяют, на уровне IP, возможность связи одной TCP/IP-системы с другой. Делается это с использованием эхо-запросов протокола ICMP (Internet Control Message Protocol Echo Request). Программа фиксирует получение ответов на такие запросы и выводит сведения о них вместе с данными о времени их приёма-передачи. Ping — это основная команда, используемая в TCP/IP-сетях и применяемая для решения сетевых проблем, связанных с целостностью сети, с возможностью установления связи, с разрешением имён.

Эта команда, при простом способе её использования, принимает лишь один параметр: имя хоста, подключение к которому надо проверить, или его IP-адрес. Вот как это может выглядеть:

Обычно, если запустить команду ping в её простом виде, не передавая ей дополнительные параметры, Linux будет пинговать интересующий пользователя хост без ограничений по времени. Если нужно изначально ограничить количество ICMP-запросов, например — до 10, команду ping надо запустить так:

Или можно указать адрес интерфейса. В данном случае речь идёт об IP-адресе 10.233.201.45:

Применяя эту команду, можно указать и то, какую версию протокола IP использовать — v4 или v6:

В процессе работы с утилитой ping вы столкнётесь с различными результатами. В частности, это могут быть сообщения о нештатных ситуациях. Рассмотрим три таких ситуации.

▍ Destination Host Unreachable

Вероятной причиной получения такого ответа является отсутствие маршрута от локальной хост-системы к целевому хосту. Или, возможно, это удалённый маршрутизатор сообщает о том, что у него нет маршрута к целевому хосту.

▍ Request timed out

Если результат работы ping выглядит именно так — это значит, что локальная система не получила, в заданное время, эхо-ответов от целевой системы. По умолчанию используется время ожидания ответа в 1 секунду, но этот параметр можно настроить. Подобное может произойти по разным причинам. Чаще всего это — перегруженность сети, сбой ARP-запроса, отбрасывание пакетов фильтром или файрволом и прочее подобное.

▍ Unknown host/Ping Request Could Not Find Host

Такой результат может указывать на то, что неправильно введено имя хоста, или хоста с таким именем в сети просто не существует.

О хорошем качестве связи между исследуемыми системами говорит уровень потери пакетов в 0%, а так же — низкое значение времени получения ответа. При этом в каждом конкретном случае время получения ответа варьируется, так как оно зависит от разных параметров сети. В частности — от того, какая среда передачи данных используется в конкретной сети (витая пара, оптоволокно, радиоволны).

Итоги

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *