探测局域网内设备

编程入门 行业动态 更新时间:2024-10-27 14:21:42

探测局域<a href=https://www.elefans.com/category/jswz/34/1754521.html style=网内设备"/>

探测局域网内设备

  1. 需求:
    探测当前局域网内的所有在线设备
  2. 设计想法
    a. 采用TCP探测的方法, 经实践后,发现实现复杂遂放弃
    b. 采用UDP广播的方式,实践后发现,有些设备接受不到UDP广播,由于进度原因未做深入探究
    c. 采用ARP广播,获得所欲在局域网内的设备,然后发生身份确认消息包,得到确认的确定为在线设备。
  3. 结论
    ARP广播探测效率任然不够理想,遇到这样的问题,代码中使用了windows提供的官方函数SendARP(), 经实际测试发现,多线程的情况下,会低概率的出现设备在线但无法探测到的现象,很想知道是什么原因,若是找到答案,希望可以不吝赐教。
  4. 实现代码
    以下为基于第三种想法实现的代码
#include <windows.h>
#include <stdio.h>
#include <iphlpapi.h>
#include <functional>#pragma comment (lib,"ws2_32.lib")  
#pragma comment (lib,"iphlpapi.lib")
// 扫描网络
void ScanningNetWork4Onlin()
{// 初始化socketWSADATA data;WORD wVersion = MAKEWORD(2, 2);WSAStartup(wVersion, &data);hostent *pLocalHost;HANDLE hEvent;// 获得本机IP结构pLocalHost 

更多推荐

探测局域网内设备

本文发布于:2024-03-12 15:35:18,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1731832.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:网内   设备

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!