【发布时间】:2019-07-24 12:13:44
【问题描述】:
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 请求。
然后,我手动创建并注入一个 相同 PING 请求(来自上面的测试)on B 以 ping B(即好像运行“ping 192.168.037”在 A 上,除了从 B 上本地运行的软件直接注入 B 的以太网接口)。注入有效,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
【问题讨论】:
-
欢迎来到 SO!使用一些代码,可能会发生什么......
标签: network-programming ubuntu-16.04 wireshark packet packet-injection