2015-10-08 3 views
2

Там что-то, что беспокоит меня: я хотел бы, чтобы отличить пакет наступающего от Youtube и пакет, исходящего из Википедии: они оба путешествует по HTTPS, и они оба из порта 443.Как отличить разные типы пакетов от одного и того же трафика HTTPS?

Поскольку они путешествуют по HTTPS , их полезная нагрузка не понятна, и я не могу выполнить полную проверку Deep Packet: я могу смотреть только на заголовки структуры Ethernet, IP и TCP. Я могу посмотреть источник IP-адресов обоих пакетов и посмотреть, откуда они на самом деле происходят, но чтобы узнать, есть ли они из Youtube или Wikipedia, я уже должен знать IP-адреса этих двух сайтов.

То, что я пытаюсь выяснить, это способ рассказать по потоковой передаче через HTTP (например, Youtube) и простой транспорт HTML (Wikipedia) без изучения полезной нагрузки.

Редактировать 1: в сеансе Wireshark, начатом во время воспроизведения видео, я получил тонны пакетов. Возможно, я должен начать смотреть на таймаут между пакетами, исходящими из того же адреса.

+1

Может захотеть взглянуть на [Сетевые характеристики потокового видеопотока] (http://conferences.sigcomm.org/co-next/2011/papers/1569470149.pdf) (исследовательский документ, формат PDF) –

+0

Ошибка 404, сэр. – elmazzun

+0

Извините, исправлено (у меня была '.' внутри'() 'вместо после.) –

ответ

0

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

+0

Я посмотрю параметры заголовка TCP, возможно, они содержат информацию о некоторых функциях, которые различают пакеты, участвующие в потоковой передаче из других пакетов. – elmazzun

0

эта ссылка: Reverse ip, find domain names on ip address

указывает несколько методов.

Предложите работу nslookup on the IP из программы C.

И помня, что значения адреса/IP может быть вложен в данном пакете, он может (вероятно) потребуется некоторое исследование пакетных данных, чтобы отправитель пакета

+0

Это нехорошее aproach (ну, может быть, для google или youtube, но не в целом), поскольку обычно интернет-провайдеры монтируют разные веб-провайдеры на одном хосте, используя функцию виртуального хоста http. из ip-трафика вы ничего не можете получить, но ip-адреса и номера портов. Все остальное зашифровано. –

0

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

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

Параметры SSL согласованы сразу после подключения, а виртуальный сервер обычно выбирается с полем заголовка Host http (см. RFC-2616), но эти ocurr после завершения согласования SSL, поэтому у вас нет доступ к ним.

Единственное, что вы можете сделать наверняка, это попытаться определить соединения для youtube по суммам и схемам соединений этого вида трафика.

+0

Какой-то эвристический анализ? Я могу сравнить адрес пакетов с/на Youtube со списком IP-адресов, принадлежащих Google Inc. (проверка с помощью AS15169). Или я могу подсчитать пакеты, поступающие с IP-адреса Google, и если я получу несколько пакетов TCP ACKed, возможно, есть буферизация видео. Я думаю, что буферизированное видео Youtube отправит мне больше пакетов, чем простой запрос Google, не так ли? – elmazzun

+0

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

0

Если вы просто заинтересованы в следующих потока данных в Wireshark вы можете использовать индекс TCP потока, фильтр будет что-то вроде tcp.stream == 12

Индекс потока начинается с нуля с первым потоком, который connecthark и приращения для каждого нового потока (постоянное соединение).

Таким образом, два разных потока между теми же IP-адресами будут иметь два разных номера. Например, потоку видео может быть 12, а аудиопоток между одинаковыми IP-адресами может быть 13.

Если вы начали захват до начала потока, вы сможете увидеть исходный трафик, SSL-соединение (большая часть этого текста находится в ясном тексте)

1

Возможно, вам стоит взглянуть на сертификат сервера. Он расскажет вам, является ли это YouTube (google) или facebook. Facebook certificate

Это даст вам представление о том, является ли SSL-соединение для youtube, какой из них предназначен для facebook.

Смежные вопросы