.\" Copyright Folkert van Heusden, 2003-2016 .\" .\" This file may be copied under the conditions described .\" in the GNU GENERAL PUBLIC LICENSE, version 2 .\" that can be found on the website of the free software .\" foundation. .\" .TH HTTPING 1 2016-09 "httping" .SH ИМЯ httping - измеряет задержку и пропускную способность веб-сервера .SH СИНТАКСИС .BI "httping [" опции "] .sp опции: .BI "[\-g url] [\-h имя_хоста] [\-p номер_порта] [\-x прокси_хост:порт] [\-c число] [\-i интервал] [\-t тайм-аут] [\-s] [\-G] [\-b] [\-L предел_передачи] [\-X] [\-l] [\-z] [\-f] [\-m] [\-o ко,...] [\-e строка]" .BI "[\-I UserAgent строка] [\-R Referer строка] [\-r] [\-n warn,crit] [\-N режим] [\-q] [\-V]" .SH ОПИСАНИЕ Утилита .B httping позволяет измерять задержку веб-сервера. Начиная с версии 1.0.6 также есть возможность измерять пропускную способность. .PP .SH ОПЦИИ .TP .B "\-5" Выбранный прокси-сервер — это SOCKS5 сервер. .TP .B "\-6" Включить режим IPv6. По умолчанию IPv4. .TP .B "\-a" Слышимый пинг .TP .B "\-b" Используйте этот переключатель вместе с '-\G'. Когда эта опция используется, показывается пропускная способность (в КБ/с). .TP .B "\-B" Используйте этот переключатель вместе с '-\G'. Просит HTTP сервер сжимать возвращаемые данные: это позволит уменьшить важность пропускной способности вашего соединения, увеличивая важность вычислительной мощности HTTP сервера. .TP .B "\-c число" Сколько проб отправить перед тем как выйти. .TP .B "\-D" Не рисовать графики в режиме ncurses (-\K). .TP .B "\-e строка" Когда код ответа отличается от указанных в '\-o', отображать данную строку. .TP .B "\-E" Получить настройки прокси-сервера из переменных окружения ('http_proxy' и 'https_proxy'). .TP .B "\-F" Попытаться использовать TCP Fast Open подключаясь к серверу (для Linux ядра версии 3.7 и более) .TP .B "\-f" Флуд пинг: не сидеть сложа руки между каждым пингом, а пинговать быстро, насколько компьютер и сеть позволит вам. .TP .B "\-G" Делать GET запрос вместо HEAD запроса: это значит, что полная страница/файл будет передан. Обратите внимание, в данном случае вы больше не измеряете задержку! .TP .B "\-g URL" Устанавливает URL для проб. К примеру: http://localhost/ .TP .B "\-h имя_хоста" Вместо '\-g' вы можете также использовать '\-h' чтобы установить имя хоста, к примеру: \-h localhost .TP .B "\-I строка" UserAgent строка для отправки веб-серверу (по умолчанию 'HTTPing <версия>'). .TP .B "\-i interval" Сколько секунд между отправкой каждой пробы. .TP .B "\-K" Включить пользовательский интерфейс ncurses. .TP .B "\-L x" Используйте этот переключатель вместе с '\-G'. Ограничивает объем передаваемых данных значением 'х'. Обратите внимание, это влияет только на содержание страницы/файла, а не на заголовки. .TP .B "\-l" Подключаться с помощью SSL: чтобы это работало вы должны задать 'https' URL или номер порта 443. .TP .B "\-m" Показывать машиночитаемый вывод (смотрите также '\-o' и '\-e'). .TP .B "\-N x" Переключает HTTPing в режим 2 Nagios плагина: возвращает 0, когда все хорошо, "х", когда что-то не так. Т.е.: 1 => Nagios состояние warning, 2 => Nagios состояние critical. .TP .B "\-n warn,crit" Переключает HTTPing в режим 1 Nagios плагина: возвращает код выхода '1', когда среднее время отклика больше "warn", и возвращает код выхода '2', когда время на средний отклик больше "crit". Во всех остальных случаях возвращает код выхода '0'. .TP .B "\-o x,x,..." Устанавливает HTTP-коды, которые рассматриваются как ОК-состояния (только с '\-m'). .TP .B "\-p portnumber" \-p может быть использован вместе с \-h. \-p выбирает номер_порта для пробы. .TP .B "\-q" Без подробностей, возвращать только код выхода. .TP .B "\-R строка" Referer строка для отправки на веб-сервер. .TP .B "\-Q" Использовать постоянное соединение, т.е. переиспользовать то же самое TCP соединение для нескольких HTTP запросов. обычно возможно когда 'Connection: Keep-Alive' отправлено сервером. добавляет 'C' в вывод если httping был вынужден переподключиться .TP .B "\-r" Резолвить имя хоста только раз: это убирает резолвинг из цикла, так что латентность DNS не измеряется. Также полезно когда вы хотите измерить только 1 веб-сервер, а DNS возвращает новый IP-адрес на каждом резолве ('round robin'). .TP .B "\-S" Разделяет измеряемую задержку на время для подключения и на время обмена запросом с HTTP сервером. .TP .B "\-s" Когда транзакция успешна завершена, показывать HTTP код ответа (200, 404 и т.д.). .TP .B "\-T x" Читать пароль для аутентификации веб-сайта из файла 'х' (вместо ввода его в командной строке). .TP .B "\-t тайм-аут" Как долго ждать ответа с другой стороны. .TP .B "\-U" Включить аутентификацию для веб-сайта. Устанавливайте имя пользователя с помощью \-U, пароль с помощью \-P (или используйте \-T, чтобы прочитать пароль из файла). .TP .B "\-v" Увеличить уровень подробностей. Покажет в выводе стандартное отклонение и даты. .TP .B "\-W" Не прерывать программу если резолвинг не удался. .TP .B "\-X" Используйте этот переключатель вместе с '\-G'. Для каждого пинга показывать количество переданных данных (за исключением заголовков). .TP .B "\-x прокси_хост[:порт] Совершать пробу с помощью прокси сервера. Обратите внимание, вы также измеряете задержку работы с прокси сервером! .TP .B "\-Y" Включить цвета .TP .B "\-z" При подключении с помощью SSL, показывать фингерпринт X509 сертификата(ов) пиров. .TP .B "\-\-abbreviate" Сокращать значения больше, чем тысяча, миллион, миллиард, и т.д. .TP .B "\-\-adaptive-interval" или "\-\-ai" (Пытается) исполнять пинг на одном интервале. Например, если интервал установлен в 1.0 секунду и t[n] от пинга до пинга является 500s с длительностью 250 мс, то следующий пинг (t[n+1]) произойдет на 501 секунде, а не на 501.25 секунде. Конечно, когда длительность пинга > больше, чем интервал, пинг будет "пропущен" (не в буквальном смысле: последовательный номер продолжится) и t[n+1] будет на 502-й секунде вместо ожидаемой 501-й. Это полезно, например, в режиме вывода библиотеки, где FFT вычисляется по длительности пинга. .TP .B "\-\-aggregates x[,y[,z[,т.д.]]]" Показывать совокупный результат каждые x[,y[,z[,т.д.]]] секунд. .TP .B "\-\-divert\-connect x" Не обращать внимания на имя хоста в URL и вместо этого подключаться к 'х'. Данный ранее URL будет запрошен у 'х'. .TP .B "\-\-draw-phase" Рисовать не только величину преобразования Фурье, но также и фазу. .TP .B "\-\-graph\-limit x" Если измеренные значения больше, чем х, то ограничить их х. .TP .B "\-\-header x" Добавить дополнительный заголовок запроса 'х'. .TP .B "\-\-keep\-cookies" Когда сервер отправляет куки, оно будет отправлено назад в следующем запросе. .TP .B "\-\-max\-mtu x" Максимальное значение MTU для использования. Не может быть больше, чем MTU сетевого интерфейса. .TP .B "\-\-no\-host\-header" Не ставить "Host:" заголовок в заголовки запроса. .TP .B "\-\-no\-tcp\-nodelay" Не отключать "задержку TCP" (Naggle). .TP .B "\-\-priority x" Установить приоритет пакетов. .TP .B "\-\-tos x" Установить тип сервиса. .TP .B "\-\-proxy\-user x" Использовать имя пользователя 'х' для аутентификации на прокси-сервере (http/socks5) (опционально). .TP .B "\-\-proxy\-password x" Использовать пароль 'х' для аутентификации на прокси-сервере (http/socks5) (опционально). .TP .B "\-\-proxy\-password-file x" Читать пароль из файла 'х' для аутентификации на прокси-сервере (http/socks5) (опционально). .TP .B "\-\-recv-buffer x" Установить размер буфера приема (в байтах). .TP .B "\-\-slow\-log x" Когда длительность больше или равна x, показывать строку пинга в окне медленного журнала (среднее окно). .TP .B "\-\-threshold\-red x" Если измеренный пинг выше, чем х (и \-Y установлен), то показываемое значение будет покрашено в красный. Если вы также используете \-\-threshold\-yellow, то это значение должно быть больше. .TP .B "\-\-threshold\-yellow x" Если измеренный пинг выше, чем х (и \-Y установлен), то показываемое значение будет покрашено в желтый. .TP .B "\-\-threshold\-show x" Если измеренный пинг выше, чем х, то результат будет отображен (по умолчанию отображается всегда). Значение х в мс. .TP .B "\-\-timestamp" or "\-\-ts" Показывать таймстамп перед строками с результатами. Используйте опцию \-v, чтобы показывать также и дату. .TP .B "\-\-tx-buffer x" Установить размер буфера передачи (в байтах). .TP .B "\-V" Показать версию и выйти. .SH ВЫВОД В режиме разделения экрана (\-S) вы увидите что-то вроде "время=0.08+24.09+23.17+15.64+0.02=62.98 мс". Первое значение — это время, которое потребовалось, чтобы зарезолвить имя хоста (или 'Н/Д', если оно не резолвилось на этой итерации, например, в режиме "резолвить один раз" (\-r)), затем время, которое потребовалось для подключения (Или \-1 в, например, постоянных соединениях (\-Q, HTTP v1.1)), после этого время, которое потребовалось, чтобы произвести операцию записи, затем, то время, которое потребовалось для HTTP сервера, чтобы обработать запрос и отправить его обратно и, наконец, время, которое потребовалось, чтобы закрыть соединение. .SH ГРАФИК График в ncurses использует цвета для кодирования смысла. Зеленый: значение меньше, чем 1 блок. Красный: значение не укладывается в график. Синий: значение было ограничено опцией -\-\-graph\-limit. Бирюзовый: нет измерения для этого момента времени. .SH КЛАВИШИ Нажмите + , чтобы выйти из программы. Это отобразит краткую информацию о том, что было измерено. В графическом интерфейсе ncurses, нажмите клавишу + для принудительной перерисовки экрана. Нажмите 'H', чтобы остановить графики (и снова, чтобы продолжить). Нажмите 'q', чтобы остановить программу (или + ). .SH ПРИМЕРЫ .TP .B "httping \-g http://localhost/" Исполнить пинг к веб-серверу на хосте "localhost". .TP .B "httping \-h localhost \-p 1000" Исполнить пинг к веб-серверу на хосте "localhost" с номером порта 1000. .TP .B "httping \-l \-g https://localhost/" Исполнить пинг к веб-серверу на хосте "localhost" с помощью соединения SSL. .TP .B "httping \-g http://localhost/ -U username -P password" Исполнить пинг к веб-серверу на хосте "localhost", используя HTTP Basic Authentication.. .SH БАГИ Нету. В этой программе полностью отсутствуют баги. .SH "СМОТРИТЕ ТАКЖЕ" .BR http://www.vanheusden.com/httping/ .SH ЗАМЕТКИ Эта страница описывает .B httping , который содержится в пакете httping-2.3; другие версии могут немного отличаться. Пожалуйста, отправляйте исправления и дополнения на mail@vanheusden.com. Сообщить об ошибках в программе можно по адресу mail@vanheusden.com. Пожалуйста, рассмотрите возможность отправки Биткоинов по адресу 1N5Sn4jny4xVwTwSYLnf7WnFQEGoVRmTQF