小弟我是来散分的。发三个近期学习Socket API后写的作品。
我是来散分的。。。发三个近期学习Socket API后写的作品。。。
博客原文章地址:
一个是Raw Ping,顾名思义,就是没有调用微软自带的IcmpSendEcho等函数完全使用Socket API进行Ping的程序。
程序先动态生成IP头+ICMP头,其中调用了GetTickCount函数作为ICMP_ECHO请求数据包的发送时间戳来获取远程计算机响应的时间,更附带了IP和ICMP校验和的VB版计算方法。
Raw Ping源代码下载地址
另外一个是路由跟踪,类似于tracert这个cmd命令,可以获取从本地计算机发送数据包之后经过了哪些路由器,并将这些路由器的IP一一显示出来(现在的路由器一般都设置了忽略Ping数据包,所以效果不太理想),原理和Raw Ping类似,只是利用了IP头部中的TTL成员的特性,每经过一个路由器则路由器自动把TTL减一,直到TTL变为0时发送回应给源计算机(具体请参考这里:)。另外也需要注意路由器的MTU设置不可过大(具体请参考这里:)
路由跟踪源代码下载地址
最后一个是封包拦截,可以拦截到从本机发出的协议为TCP、UDP、ICMP的数据包,并且对这些数据包进行头部分析
封包拦截源代码下载地址
望各位星星多多指教~~~~~
VisualBasic程序开发环境 程序开发 VisualBasic
没睡醒的肉啊
11 years, 6 months ago