首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发送没有网络连接的数据包(无线适配器)

发送没有网络连接的数据包(无线适配器)
EN

Stack Overflow用户
提问于 2014-09-02 19:38:53
回答 1查看 3.6K关注 0票数 4

我必须用wifi适配器发送数据包到另一台计算机,而不连接到任何网络,目标是Windows 7和更高版本。首先,ad(据我理解)不适合我的需要,因为它需要连接。

我有两个想法:

  1. 创建类似于标识网络的广播数据包的内容。这可以用在无线网卡上。
  2. 发送虚假但有效的数据包,并且不需要特定的IP/MAC地址(例如,它们可以是广播)。

我使用的是: C#和一台Win7 PC和一台Win7笔记本电脑来测试程序。SharpPcap发送数据包。去检查他们是否到了。

我尝试了第二种方法:

代码语言:javascript
复制
static void Main(string[] args)
{
    WinPcapDeviceList devs = WinPcapDeviceList.Instance;
    foreach (WinPcapDevice wdev in devs)
    {
        System.Console.Write("Device: ");
        System.Console.WriteLine(wdev.Description);
        foreach (var addr in wdev.Addresses)
            System.Console.WriteLine(addr.Addr);
        System.Console.WriteLine("--------------");
    }

    System.Console.Write("Select device: #");
    int selected = int.Parse(System.Console.ReadLine());
    var dev = devs[selected]; //yes, no checking for oob...
    dev.Open();

    while (true)
    {
        byte[] physBroad = new byte[] { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
        EthernetPacket etherPacket = new EthernetPacket(
            dev.MacAddress,
            new PhysicalAddress(physBroad),
            EthernetPacketType.IpV4);

        IPv4Packet ip4Packet = new IPv4Packet(
            new IPAddress(0),
            IPAddress.Broadcast);

        ip4Packet.Protocol = IPProtocolType.UDP;

        etherPacket.PayloadPacket = ip4Packet;

        UdpPacket udpPacket = new UdpPacket(
            80, //tried with different port setups
            80);

        udpPacket.PayloadData = Encoding.UTF8.GetBytes("test packet");
        ip4Packet.PayloadPacket = udpPacket;

        dev.SendPacket(etherPacket);
    }
}

如果不连接到同一个网络,它们就会被丢弃(不能到达Wireshark)。只有在同一个网络上,我才能看到数据包。

对于第一个,我知道IEEE 802.11,但我找不到任何关于如何制作和发送这些包。在没有像AirPcap这样的专用硬件的情况下能够做到这一点吗?如果没有必要的话,我也想避免给司机写信。

ps:我的个人电脑里有一个Edimax无线局域网卡,我的笔记本电脑里有一个Mediatek MT763E 802.11bgn Wifi适配器。我在它们上安装了相同版本的Wireshark,但是我不能打开监视器模式,并且不能将链接层类型设置为IEEE-802.11,只能设置为以太网和DOCSIS类型。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-03 10:35:33

将WiFi SSID更改为消息:-)

或者这个:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25631060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档