欺骗性ping数据包注入失败

时间:2019-03-02 18:59:46

标签: network-programming ubuntu-16.04 wireshark packet packet-injection

TLDR:当数据包是来自“ ping”计算机的成功数据包注入PING请求中的结构相同的数据包时,为什么PING请求的第2层数据包注入在计算机上不起作用? (本质上是为什么欺骗的ping请求失败?)

测试设置/问题:

我有两台计算机,A(192.168.0.36)和B(192.168.0.36)直接通过以太网连接。

我手动在A上创建PING请求并将其注入到ping B(即好像从A上的终端运行“ ping 192.168.0.37”一样)。这行得通,我可以看到B在计算机B上使用Wireshark接收并响应ping请求。

然后,我在B上的 上手动创建一个相同 PING请求并将其注入ping B(例如,运行“ ping 192.168.037”除了在A上本地运行的软件直接注入B的以太网接口外,其他都在A上进行。注入工作正常,Wireshark显示了一个与原始测试相同的数据包,从A到B,期望它没有反应。

我的问题是,为什么?

我假设我在网络接口安全性或操作系统安全性设置方面缺少一些基本知识。

我正在运行Ubuntu 16.04。我正在注入具有手动创建的第2层标头的数据包。我在可执行文件上设置了 cap_net_raw,cap_net_admin + eip 。来自此站点的以下代码/指南:http://www.pdbuchan.com/rawsock/rawsock.html

在Wireshark主映像中,第一个到ping项显示了从我自己注入的数据包到计算机A的成功交易。最后一个条目是我直接注入到计算机B的欺骗性数据包。数据包是相同的。第二Wireshark并排显示数据包。 Wireshark Main View Packets Side by Side

1 个答案:

答案 0 :(得分:0)

尝试禁用反向路径过滤sudo sysctl -w 'net.ipv4.conf.all.rp_filter=0'