gpt4 book ai didi

c - 在混杂模式下嗅探时是否可以在原始套接字上注入(inject)?

转载 作者:太空宇宙 更新时间:2023-11-04 11:28:19 25 4
gpt4 key购买 nike

我正在编写一个程序,它使用 libpcap 嗅探流量,只取出数据包进行修改并使用原始套接字注入(inject)回网络。我知道对于无线网卡的正常混杂模式操作,您不应该能够与网络交互,但是可以使用原始套接字进行交互吗?

最佳答案

简短的回答是肯定的。下面是较长的...

I know that for normal promiscous mode operation of a wireless card, your not suppose to be able to interact with the network

我不确定你是从哪里得到这些知识的,但上面的说法是错误的。混杂模式不限制您可以做什么以及如何与网络交互。默认情况下,网络接口(interface)卡只是试图减少它们传递给主机的数据量以提高效率。例如,如果目标 MAC 地址与接收媒体访问 Controller 的地址不匹配,则 NIC 不会将以太网帧传递给主机。混杂模式所做的唯一事情就是简单地告诉设备将它获得的所有内容传递给主机,无论该帧是否为主机寻址。换句话说,无论您在正常操作模式下可以用 NIC 做什么,在混杂模式下您仍然可以做。此外,NIC 不再为您过滤任何内容,因此您可以获得更多(只要主机能够处理负载)。

but is it possible to do it with raw sockets?

是的,这是可能的。只要您有足够的权限,就可以使用“原始”套接字 API 从用户空间发送和接收以太网帧。设备是否处于混杂模式没有任何区别。

另请注意,如今路由器非常智能,即使您将主机的 NIC 设置为混杂模式,它们也不会将数据包转发给您的主机。因此,在正确的网络中,您不太可能收到实际上不是为您的主机准备的任何内容,混杂模式不会产生任何影响。

如果有帮助,here是通过以太网与连接到 PC 的 FPGA 板交换自定义数据包的简单示例。它使用原始套接字 API 并在 Linux 上的用户空间中运行。

关于c - 在混杂模式下嗅探时是否可以在原始套接字上注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13104545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com