qq_40332177 2022-02-24 17:43 采纳率: 0%
浏览 41

c# 如何通过socket获取数据的源mac

如何通过socket获取通讯设备的mac,通讯的多个设备可能ip相同,怎么获取到每个设备的mac

  • 写回答

2条回答 默认 最新

  • wanghui0380 2022-02-25 08:49
    关注

    直接做不行,mac在ip数据报里,这个东西由网卡驱动负责,你在上层获取信息实际是网卡驱动剥离IP数据报头以后的data,所以你在上层无法获取

    间接手段可以有,比如封包监听工具wireshark
    他使用自己的虚拟网卡驱动--为了便于理解我大体上就这么描述了---所以他可以获取剥离前的原始ip数据报,所以他可以分析到mac(当然也和应用协议有关系,icmp协议报是发mac的)

    https://blog.csdn.net/qq_30033537/article/details/105349838
    https://www.cnblogs.com/loveshit/p/11922925.html

    上面都是理论基础,所以解决上手段
    1.直接让底层给你主动发mac
    2.集成类似wireshark 的底层包,直接在底层进行ip数据报分析

    评论

报告相同问题?

问题事件

  • 创建了问题 2月24日