powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / WinPcap
7 сообщений из 7, страница 1 из 1
WinPcap
    #36053234
Yopt!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос вот в чем: в рантайм отправляет запрос на серевер SQL, засекаем время. Приходит ответ - опять засекаем время. Получаем временной интервал. Его нужно разбить на 3 части:
1) Время запроса - прохождение серии пакетов от клиента до сервера.
2) Время обработки запроса сервером
3) Время ответа - время прохождения пакетов от сервера до клиента.
Скажу сразу - это может обрабатывающим запрос приложением может быть не только SQL сервер. Это может быть любое приложение, о котором мы знаем только ip-адрес машины и порт.
Для анализа времени использую WinPcap, точнее ее оболочку SharpPcap.
Открываю два устройства - на клиенте и на сервере. На обоих отслеживаю приходящие\исходящие пакеты. На оба устройства ставлю одинаковый фильтр: src host <local host> and dst host <remote host> and dst port <port on remote host>) or (src host <remote host> and src port <port on remote host> and dst host <local host>
В качестве обработчиков события прихода пакетов выставляем простые процедуры, в которых реализован подсчет кол-ва вызовов. Для локального и удаленного устройства отдельно.

И вот проблемы:
1. Счетчики показывают сильно разнящиеся числа. скажем, входящих/исходящих пакетов на локальном устройстве в 3-4 раза меньше, чем на удаленном, что при таком фильтре вызывает недоумение.
2. В результате экспериментов выяснилось, что события отправления с одного устройства и прихода пакета на другое устройство генерируются в странном порядке - тут иногда (но не всегда!) получается так, что событие получения пакета генерируется раньше чем событие отправки пакета. Возможно ли, что потеря пакетов и эта неразбериха с генерацией событий происходит из-за переполнения буфера сохранения пакетов? Хотя пометки времени в заголовке пакетов проставляются драйвером перехвата корректно.

Кто-нибудь сталкивался с описаным? Есть ли какие-либо другие средства с для решения этой задачи?
...
Рейтинг: 0 / 0
WinPcap
    #36054184
Yopt!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и еще вопрос, ответ на который очень бы мне помог. вот есть у нас точка отправления А и точка назначения В. пакет уходит из точки А, где мы его запоминаем, и приходит на точку В. как определить, что это тот же пакет? я пробовал сравнивать по начальному и конечному МАС-адресам + побайтово блок данных (рад, если кого-то это улыбнет:)), но вышло не очень.
...
Рейтинг: 0 / 0
WinPcap
    #36054191
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yopt!и еще вопрос, ответ на который очень бы мне помог. вот есть у нас точка отправления А и точка назначения В. пакет уходит из точки А, где мы его запоминаем, и приходит на точку В. как определить, что это тот же пакет? я пробовал сравнивать по начальному и конечному МАС-адресам + побайтово блок данных (рад, если кого-то это улыбнет:)), но вышло не очень.Если речь идет о TCP-протоколе, то там есть номер последовательности. Взгляните в RFC по TCP.
...
Рейтинг: 0 / 0
WinPcap
    #36054300
Yopt!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, на счет TCP я в курсе, но тут произвольный пакет. возможно ли просто сравнить побайтово все содержимое отправленного пакета с содержимым полученного пакета? ведь пакет в результате транспортировки не изменяется? или, еще лучше, перед отправлением как-нибудь получить хеш пакета и сравнить с хешем полученного пакета. это выглядит разумным решением проблемы или тут все гораздо глубже?
...
Рейтинг: 0 / 0
WinPcap
    #36054359
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем случае не обязательно доходят ровно те пакеты, которые были посланы. Например, по причине фрагментации. Также могут быть изменены адреса/порты получения/назначения, TTL. В некоторых случаях пакеты могут быть переработаны совсем, например, прозрачным прокси-сервером.
...
Рейтинг: 0 / 0
WinPcap
    #36054442
Yopt!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скажем, прокси-сервера не будет, и пакеты идут напрямую от точки А к точке В. в таком случае они будут идентичны в начальной и конечной точке? (этот вопрос интересует в контексте WinPcap, если возможно)
...
Рейтинг: 0 / 0
WinPcap
    #36054461
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yopt!скажем, прокси-сервера не будет, и пакеты идут напрямую от точки А к точке В. в таком случае они будут идентичны в начальной и конечной точке? (этот вопрос интересует в контексте WinPcap, если возможно)Это можно гарантировать только если вы полностью контролируете весь маршрут прохождения пакетов. Иначе см. мой предыдущий пост.

Кстати TTL меняется при каждом прохождении пакета через маршрутизатор.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / WinPcap
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]