Как ohrwurm использует libpcap и arpspoof для повреждения трафика RTP? - PullRequest
0 голосов
/ 06 января 2012

Я пытаюсь оценить инструмент под названием ohrwurm , который утверждает, что может испортить трафик RTP между двумя конечными точками SIP. Читая его исходный код , я не верю, что это работает, и хотел бы узнать мнение других, прежде чем я попробую.

Это просто:

  • Предположим, что конечная точка A имеет IP-адрес 192.168.0.11, а конечная точка B имеет IP-адрес 192.168.0.22.
  • В третьем блоке C в той же подсети, что и A и B, выполните следующие команды в двух сеансах SSH:
    • arpspoof 192.168.0.11
    • arpspoof 192.168.0.22
  • Выполнить Орвурм.

Взглянув на исходный код ohrwurm , он делает следующее:

  • Установите / proc / sys / net / ipv4 / ip_forward в 1.
  • Используйте libpcap в случайном режиме для перехвата всех IP-пакетов между двумя вышеуказанными полями.
  • Для пакетов, которые являются SIP, извлеките номера портов RTP.
  • Для тех пакетов, которые являются UDP и между двумя портами RTP, захваченными ранее, распускают содержимое RTP.

Вот что я не понимаю, хотя. Я принимаю, что arpspoof'ing заставит весь IP-трафик между A и B проходить через C. Более того, установив / proc / sys / net / ipv4 / ip_forward в 1, мы получим ядро ​​для правильной пересылки этого IP-трафика для нам.

Но я думал, что libpcap только для чтения? Как можно изменить пакеты, которые мы прослушали, в случайном режиме на месте? В строке ohrwurm.c 401 вы заметите, что мы даже пытаемся отбрасывать пакеты RTCP! Возможно ли это?

Я ничего не знаю о libpcap, и мне интересно узнать больше! Пожалуйста, просветите меня. Спасибо.

1 Ответ

0 голосов
/ 04 февраля 2012

Libpcap не может изменять пакеты.Он может быть использован только для их аудита.Вы можете рассматривать его как основу для получения пакетов от интерфейса к ядру.

Для Arpspoof требуются другие библиотеки, такие как "Libnet", для подмены ARP.http://arpspoof.sourceforge.net/ (см. Раздел «Ссылки, связанные с arpspoof»)

В Libnet представлен API, обеспечивающий доступ к нескольким протоколам.Он может быть использован для создания произвольных пакетов или изменения пакетов на лету.http://libnet.sourceforge.net/

Хороший учебник можно найти по адресу: http://networksecurity.org.ua/0596007949/networkst-chp-11-sect-4.html

...