gpt4 book ai didi

c - 在笔记本电脑之间建立直接的点对点 Wi-Fi 通信

转载 作者:行者123 更新时间:2023-12-02 07:34:03 24 4
gpt4 key购买 nike

TL;DR位于底部

我一直在尝试找到一种方法,让两台笔记本电脑(都运行 Ubuntu)能够来回传递基本消息,而无需通过无线连接它们网络,通过 AP 或 ad-hoc。我想在此重申,临时网络不是我正在寻找的东西,我在这里看到了许多类似的问题并以此作为答案。

我想我要问的是:我如何实现这一目标?我真正需要的是一台计算机能够发送数据包,然后另一台计算机通过某种数据包嗅探器来接收它。

目前:我的两台笔记本电脑都处于监控模式(通过由aircrack-ng的airmon-ng创建的mon0接口(interface)),以便它们可以嗅探附近的流量(使用Wireshark、tcpdump、tcpcump.org的示例libpcap代码,并打开一个原始的套接字并打印出所有数据包。我尝试了每一个只是因为我认为可以做一些不同的事情/遗漏一些东西)。我还有一个非常基本的程序,其中包括打开一个原始套接字以将精心制作的以太网帧发送到空中,但我无法让我的两台机器看到对方的数据包。每台机器上运行的嗅探器只能看到从该机器发出的数据包(除了附近的信标/控制来自该区域 WiFi 的流量)。

需要注意的一些可能很重要的事情是:

- 我发送的数据包在 Wireshark 中(仅在发送计算机上)显示为格式错误的 802.11 数据包(可能是因为我现在只是用垃圾数据填充它们)。我的印象是我的另一台笔记本电脑也会将它们视为格式错误的数据包,但它什么也没得到

- 我使用的套接字来自对套接字的调用(PF_PACKET,SOCK_RAW,ETH_P_ALL)。原始套接字是我最近才意识到的,所以我可能会误解它们的工作原理,但我的印象是我可以手工制作第 2 层数据包并直接发送到有线/空中。

如果你好奇为什么我想做这样的事情,这部分是出于好奇,部分是对我正在从事的项目的研究。我想简化/自动化设置临时网络的过程,我在这里尝试做的是让笔记本电脑进行一次小型交换,以找出它们将要创建的临时网络的细节,并然后自动创建/加入该网络,而不是由一个人明确设置网络或让两个人预先决定网络的名称等,并使两台计算机不断尝试连接到该特定网络。

我更感兴趣的是我是否以正确的方式进行这个过程,而不是我的代码是否有效,如果有人认为我发布了我的(非常基本的,取自 Stack Overflow 上的另一篇文章)原始套接字代码会帮忙的,我可以。

编辑:如果我能让这个工作正常的话,我非常乐意发布一套完整的代码和说明。我在互联网上找不到关于这个主题的太多有用信息,我很乐意将其提供给 future 尝试做同样事情的人。

TL;DR 我想从一台笔记本电脑发送一个数据包,然后通过某种数据包嗅探器在另一台笔记本电脑上接收它。不涉及 wifi 网络或 ad-hoc 网络。类似于欺骗 AP 的信标帧(或类似的)以发送少量数据。

编辑2:经过一番思考,也许我正在寻找的是某种原始的802.11用途?可以直接控制 wifi radio 吗?这样的事可能吗?

最佳答案

我发现只要我有正确的 802.11 和 radiotap header ,我就能够通过我的监控模式接口(interface)发送数据包。我认为我最初遇到的问题(无法嗅探数据包)是因为它们格式错误,因此实际上没有被发送出去。

我能够通过调整找到的示例代码 here, courtesy of someone named Evan Jones 来完成此任务,除了我不需要使用基于 Atheros 的卡或 Madwifi 驱动程序之外,使用 Aircrack-ng 创建的 mon0 接口(interface)一切正常。

关于c - 在笔记本电脑之间建立直接的点对点 Wi-Fi 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9794541/

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