【问题标题】:Ethernet Frames or MAC Broadcasts with C# or C in windows (xp)在 Windows (xp) 中使用 C# 或 C 进行以太网帧或 MAC 广播
【发布时间】:2012-10-11 10:51:28
【问题描述】:

看完后:

How send raw ethernet packet with C#?

我还有问题:

是否可以在第 2 层使用 C# 或 C 进行广播或发送您自己的以太网帧,而无需安装 winpcap 或/并且无需操作已安装的驱动程序?

对于广播,我可以使用arp -a 命令运行一个进程并解析它的输出,也许它会起作用。

但仍然是以太网数据包的问题。

【问题讨论】:

    标签: c# windows networking broadcast ethernet


    【解决方案1】:

    你不能……至少不能像你问的那样直接。

    Windows 不提供直接访问第 2 层的 API。为此,您需要编写 NDIS 协议驱动程序。如果您有兴趣承担这项任务,请从这里开始:http://msdn.microsoft.com/en-us/library/windows/hardware/ff557050(v=vs.85).aspx

    对于类似实用程序的软件,最好的做法是捆绑您链接到的问题中列出的驱动程序之一。

    【讨论】:

    • 嗨,谢谢,我了解了 NDIS 驱动程序。他们的问题是他们也必须安装吗? (或者不是?)我需要一个免安装的例程
    • @Gobliins,我不相信这是可能的。但是,如果您拥有正确的权限,您应该能够即时安装和卸载驱动程序。会有一个 UAC 提示,但仅此而已。我不肯定,但我认为不需要重新启动。
    • 嘿,你还在吗?您知道是否可以在没有特殊驱动程序的情况下仅从 Windows 接收和读取以太网数据包?
    • 好吧,我们谈到了操纵(由于安全问题,这是有道理的),而不仅仅是阅读。但从你的回答我想这也是不可能的。
    • @Gobliins,抱歉,我误读了您的后续问题。是的,据我所知,没有驱动程序就无法直接接收第 2 层广播。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多