Вопрос

Приветствие,

Как можно определить от захваченных пакетов с помощью SharpPcap, если пакет является пакетом HTTP или нет?

И можем ли мы определить пакеты TCP FRPM, если пакет имеет http или нет?

Это было полезно?

Решение

Согласно с RFC2616 - протокол передачи гипертекста - HTTP / 1.1:

Версия HTTP-сообщения указывается полем HTTP-версии в первой строке сообщения

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

Другие советы

Я автор / сопровождающий sharppcap/packet.net.

У меня есть несколько классов, которые выполняют tcp сборка и http Разбор, которые используются в комплексном приложении мониторинга сети для идентификации и следования http sessions. Отказ Это полностью тестируются и хорошо прокомментированы.

Они доступны для лицензирования либо на двоичном или исходном уровне.

Редактировать: Зачем голосовать этому? Потребовалось сотни часов, чтобы разработать код и тесты, и это падение раствора, которое было повторно использовано. Это, безусловно, стоит рассмотреть, прежде чем повторно реализовать ту же функциональность.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top