Я пытаюсь оценить инструмент под названием ohrwurm, который утверждает, что способен повреждать трафик RTP между двумя конечными точками SIP. Читая its source code Я не верю, что это работает, и мне хотелось бы узнать мнение других, прежде чем я попробую.Как ohrwurm использует libpcap и arpspoof для повреждения трафика RTP?
Это предпосылка проста:
- Предположим, конечная точка А имеет IP-адрес 192.168.0.11, и конечная точка B имеет IP-адрес 192.168.0.22.
- На третьей коробке C на одной и той же подсети, что А и В выполнить следующие команды в двух SSH сессий:
- Arpspoof 192.168.0.11
- Arpspoof 192.168.0.22
- Выполнить ohrwurm.
Взглянув на ohrwurm's source code он делает следующее:
- Set/Proc/SYS/сеть/ipv4/ip_forward к 1.
- Использование Libpcap в беспорядочном режиме для перехвата всех IP-пакетов между эти две коробки выше.
- Для тех пакетов, которые являются SIP, возьмите номера портов RTP.
- Для тех пакетов, которые являются UDP и между двумя RTP-портами, захваченными ранее, fuzz содержимое RTP.
Вот что я не понимаю. Я согласен с тем, что arpspoof'ing приведет к тому, что весь трафик IP между A и B. пройдет через C. Более того, установив/proc/sys/net/ipv4/ip_forward на 1, мы получаем, чтобы ядро правильно перенаправляло этот IP-трафик для нас.
Но я думал, что libpcap был доступен только для чтения? Как можно модифицировать пакеты, которые мы обнюхивали в беспорядочном режиме на месте? В ohrwurm.c line 401 вы заметите, что мы даже пытаемся отказаться от пакетов RTCP! Это возможно?
Я ничего не знаю о libpcap, и мне любопытно узнать больше! Пожалуйста, просветите меня. Благодарю.
учебник ссылка мертва. Можете ли вы опубликовать еще один? – SkrewEverything