ICMP协议 广播以查询局域网内的所有主机

时间:2023-03-09 14:59:09
ICMP协议 广播以查询局域网内的所有主机

  看到了很多局域网内的主机扫描工具,在想怎么去实现这样一个工具。前几天看了Ping源码--ICMP协议的实例,ICMP可以用来探测网联网内的任一主机,ICMP和广播地址结合来扫描局域网内的所有主机不是很容易吗。

http://wenku.baidu.com/link?url=XIimPSkG3KXjcM1Rh8ZfjjBLnJmWh5IAULrtKQv99oLukRsRhdGN-Gl_PQzs5dXDcSngRVjnzswMjXAsB75c2evG35ENvKbf4tBtgxntDke

ErrCode = setsocketopt(sockRaw,IPPROTO_IP,IP_HDRINCL,(char *)flag,sizeof(int));

但是我使用前面的ping源码测试ICMP广播,看到的结果是只有5个主机给我了回复,而实际局域网内的主机数据很多。莫非真像前面这篇文章介绍的,windows平台对于广播地址的ICMP命令不回复。而我需要重试254次ping?

这里要查看“137 端口”和“NetBIOS”协议,在pudn上搜索“局域网扫描工具”可以看到很多例子。