0

Возможно ли идентифицировать конкретное приложение путем анализа его пакетов? Если да, какие атрибуты пакетов могут помочь идентифицировать приложение однозначно? Любая помощь будет оценена по достоинству.Определить приложение на основе его пакетов

+1

Возможно, вас заинтересует библиотека с глубокой инспекцией пакетов. ИМХО лучшая библиотека с открытым исходным кодом - это nDPI. В основном у него есть база данных отпечатков пальцев для каждого поддерживаемого приложения (Skype, Gmail, YouTube и т. Д.). Иногда определение приложения требует проверки нескольких пакетов в одном потоке. Другие библиотеки используют статистику (размер пакета, время и т. Д.) Для идентификации пакетов https://en.wikipedia.org/wiki/Deep_packet_inspection –

ответ

1

Этот вопрос имеет очень широкий диапазон, и если вы придумаете решение, вы должны подать заявку на патент. Вы можете получать знания приложений в зависимости от пакетов и протоколов, но правила не работают в 100% случаев. Вот некоторые соображения, которые вы должны знать (не полный список, но они могут дать вам идею):

  • Основываясь на Src или Dst порта вы можете иметь информацию о том, что приложение работает в одном из двух узлов. Например, по умолчанию веб-сервер использует порты 80 или 8080 (или 443 с HTTPS). По умолчанию ssh использует порт 22. Однако приложение может быть настроено для прослушивания другого порта. Также многие различные приложения используют HTTP для связи через порты 80, 8080, 443. В последнем случае есть протокол возможностей HTTP, но вы не можете определить, какое приложение оно есть.
  • Если связь не зашифрована, вы можете получить информацию об информационных пакетах. Но если связь осуществляется через SSL, например, нет способа сделать это, если вы не реализуете атаку «человек в середине».
  • Если у вас есть доступ к машине, используя netstat или другой инструмент, вы можете определить приложение на основе используемых портов.
  • Другой способ угадывания (это скорее угадывание, чем детерминированное), приложение - путем анализа шаблона связи.

Одним словом, на основе анализа сети вы можете угадать приложение. Тем не менее, нет способа, который может рассказать вам с 100% точностью.

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