Я подозреваю, что на моем сервере огромное количество HTTP-запросов от клиентов. Я хочу измерить объем http-трафика. Как я могу это сделать с помощью Wireshark? Или, возможно, есть альтернативное решение с использованием другого инструмента?
Так выглядит единичный трафик HTTP-запроса / ответа в Wireshark. Пинг генерируется WinAPI funciton :: InternetCheckConnection () альтернативный текст http://yowindow.com/shared/ping.png
Спасибо!
Пакеты Ping должны использовать тип ICMP 8 (эхо) или 0 (эхо-ответ), поэтому вы можете использовать фильтр захвата:
icmp
и фильтр отображения:
icmp.type == 8 || icmp.type == 0
Для HTTP вы можете использовать фильтр захвата:
tcp port 80
или фильтр отображения:
tcp.port == 80
или:
http
Обратите внимание, что фильтр http
не эквивалентен двум другим, которые будут включать пакеты подтверждения и завершения.
Если вы хотите измерить количество подключений, а не объем данных, вы можете ограничить фильтры захвата или отображения одной стороной обмена. Например, чтобы перехватить только пакеты, отправленные на порт 80, используйте:
dst tcp port 80
Соедините это с http
отобразить фильтр или использовать:
tcp.dstport == 80 && http
Подробнее о фильтрах захвата читайте "Фильтрация при захвате"из руководства пользователя Wireshark, фильтры захвата страницу в Wireshark wiki или pcap-фильтр (7) справочная страница. Для фильтров отображения попробуйте фильтры отображения на странице Wireshark wiki. В Диалоговое окно «Выражение фильтра» может помочь вам создать фильтры отображения.
Просто используйте DisplayFilter http
как это:
Это не пинг. Пинг, как уже сказал by outis, это эхо-запрос ICMP. Ваша трассировка отображает установление и немедленное завершение HTTP-соединения, и вот что InternetCheckConnection()
делает. Рассматриваемый IP-адрес, 77.222.43.228, разрешается как http://repkasoft.com/, который, я думаю, является URL-адресом, который вы передаете InternetCheckConnection()
.
Вы можете фильтровать трафик с этим IP-адресом, используя фильтр захвата или отображения. host == 77.222.43.228
.
Используя Wireshark 1.2+, я бы запустил этот командный файл:
:: Script to save a wireshark trace
:: tshark -D to get interface id
@echo off
C:
cd C:\Temp\NetTracing
set PATH=%PATH%;C:\Program Files\Wireshark
echo Tracing host 127.1 or 172.1.1.1 or 10.0.0.1
tshark.exe -i 4 -a duration:900 -S -f "tcp port 80" -w trace.cap