[VB]发三个近期学习Windows Socket API之后写的作品~~~~
2010-01-10 17:55
323 查看
一个是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时发送回应给源计算机(具体请参考这里:http://baike.baidu.com/view/2696.htm)。另外也需要注意路由器的MTU设置不可过大(具体请参考这里:http://baike.baidu.com/view/26974.htm)
路由跟踪源代码下载地址
最后一个是封包拦截,可以拦截到从本机发出的协议为TCP、UDP、ICMP的数据包,并且对这些数据包进行头部分析
封包拦截源代码下载地址
程序先动态生成IP头+ICMP头,其中调用了GetTickCount函数作为ICMP_ECHO请求数据包的发送时间戳来获取远程计算机响应的时间,更附带了IP和ICMP校验和的VB版计算方法。
Raw Ping源代码下载地址
另外一个是路由跟踪,类似于tracert这个cmd命令,可以获取从本地计算机发送数据包之后经过了哪些路由器,并将这些路由器的IP一一显示出来(现在的路由器一般都设置了忽略Ping数据包,所以效果不太理想),原理和Raw Ping类似,只是利用了IP头部中的TTL成员的特性,每经过一个路由器则路由器自动把TTL减一,直到TTL变为0时发送回应给源计算机(具体请参考这里:http://baike.baidu.com/view/2696.htm)。另外也需要注意路由器的MTU设置不可过大(具体请参考这里:http://baike.baidu.com/view/26974.htm)
路由跟踪源代码下载地址
最后一个是封包拦截,可以拦截到从本机发出的协议为TCP、UDP、ICMP的数据包,并且对这些数据包进行头部分析
封包拦截源代码下载地址
相关文章推荐
- VB调用API的学习
- 学习VB.NET编程最基本的三个问题
- 首发:变态VB之HookAPI(陈辉作品)
- ant学习笔记(四)ant整合javadoc直接生成java文档api并将其打包之后上传到FTP服务器上面
- VB API入门(菜新作品)
- VB调用API的学习
- 在VB中使用API“SHFileOperation”删除文件的三个问题
- [置顶] 学习VB.NET编程最基本的三个问题
- VB调用API的学习
- 学习单片机之后的第一个作品——基于DS12C887芯片的电子时钟
- VB调用API的学习
- 有了这片本章,支付宝支付一次性成功,学习之后收藏
- css3学习之文字展示多余的用三个点显示
- 关于怎么学习API
- ArcGIS API for Silverlight 学习笔记(1)
- 近期学习计划
- vb.net 开发 excel Addin学习(2)---- 工具栏 和 菜单
- Autodesk Infrastructure Map Server(AIMS)/MapGuide API二次开发学习指南
- 近期学习javascript和jquery遇到一些问题的技巧知识总结
- 近期学习javascript和jquery遇到一些问题的技巧知识总结