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上搜索“局域网扫描工具”可以看到很多例子。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM