Ohrworm如何使用libpcap和arpsopof来破坏RTP流量?

Ohrworm如何使用libpcap和arpsopof来破坏RTP流量?,c,rtp,libpcap,corrupt,arp,C,Rtp,Libpcap,Corrupt,Arp,我正在尝试评估一个名为的工具,它声称能够破坏两个SIP端点之间的RTP通信。通过阅读,我认为它不起作用,在我尝试之前,我想听听别人的意见 其前提很简单: 假设端点A的IP地址为192.168.0.11,端点B的IP地址为192.168.0.22 在与a和B位于同一子网的第三个框C上,在两个SSH会话中执行以下命令: ARPSoof 192.168.0.11 ARPSoof 192.168.0.22 执行Ohrworm 查看它会执行以下操作: 将/proc/sys/net/ipv4/ip

我正在尝试评估一个名为的工具,它声称能够破坏两个SIP端点之间的RTP通信。通过阅读,我认为它不起作用,在我尝试之前,我想听听别人的意见

其前提很简单:

  • 假设端点A的IP地址为192.168.0.11,端点B的IP地址为192.168.0.22
  • 在与a和B位于同一子网的第三个框C上,在两个SSH会话中执行以下命令:
    • ARPSoof 192.168.0.11
    • ARPSoof 192.168.0.22
  • 执行Ohrworm
查看它会执行以下操作:

  • 将/proc/sys/net/ipv4/ip_向前设置为1
  • 在混杂模式下使用libpcap拦截上述两个框之间的所有IP数据包
  • 对于那些SIP数据包,获取RTP端口号
  • 对于前面抓取的两个RTP端口之间的UDP数据包,模糊RTP内容
这是我不明白的。我接受ARPSouf'ing将导致A和B之间的所有IP流量通过C传输。此外,通过将/proc/sys/net/ipv4/IP_forward设置为1,我们可以让内核为我们正确地转发此IP流量

但我以为libpcap是只读的?如何能够在现场修改我们以混杂模式嗅探到的数据包?你会注意到,我们甚至试图丢弃RTCP数据包!这可能吗


我对libpcap一无所知,我很想知道更多!请教育我。谢谢。

Libpcap无法修改数据包。它只能用于审核它们。您可以将其视为从接口到内核获取数据包的基础

ARP欺骗需要其他库(如“Libnet”)来执行ARP欺骗。 (参见“与ARPSoof相关的链接”一节)

Libnet引入了一个API,它提供了对多个协议的访问。它可以用来创建任意数据包或动态修改数据包。

可以在以下位置找到一个不错的教程:

教程链接已关闭。你能再发一张吗?