摘要: 在C#中实现类似位域的操作http://www.cnblogs.com/TianFang/archive/2011/01/23/1942446.html这篇文章和前面的那篇在C#中实现BigEndian的数字一样,都是在解析网络协议和文件时遇到的。有时协议会规定把一个byte的数字分成几个部分,某一部分表示一个数字。这种情况下在C中可以用位域很简单的实现,但是,在C#中就没那么容易了。这里是我写的一个类,专门用来辅助实现这种操作。 /// <summary> ///这个类主要用于那种将一个字节分成若干部分,每个部分表示一个数的类型 /// </summary> clas 阅读全文
posted @ 2011-05-20 00:09 董雨 阅读(517) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/TianFang/archive/2007/11/27/973707.htmlWinPcap编程4——捕获数据包winpcap程序中,捕获数据包主要分为如下几步: 获取网络适配器列表 打开网络适配器 捕获数据 获取网络适配器列表在前文中已经讲述,这里就不再累述了。 打开设备的函数是pcap_open()。下面是参数 snaplen, flags 和 to_ms 的解释说明 snaplen 制定要捕获数据包中的哪些部分。 在一些操作系统中 (比如 xBSD 和 Win32), 驱动可以被配置成只捕获数据包的初始化部分: 这样可以减少应用程序间复制数据 阅读全文
posted @ 2011-05-20 00:06 董雨 阅读(416) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/TianFang/archive/2007/11/27/973673.htmlWinPcap编程3——获取网络适配器列表WinPcap应用程序的第一件事情就是获得已连接的网络适配器列表。 WinPcap提供了pcap_findalldevs_ex() 函数来实现该功能: 它返回一个pcap_if结构的链表,每个这样的结构都包含了一个适配器的详细信息。 下列代码能获取适配器列表,并在屏幕上打印出其名称和描述信息,如果没有找到适配器,将打印错误信息。 #include "pcap.h" main(){ pcap_if_t *alld 阅读全文
posted @ 2011-05-20 00:05 董雨 阅读(230) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/TianFang/archive/2007/11/26/972738.htmlWinPcap编程2——环境搭建搭建WinPcap编程环境可以分为如下几步:1.下载winpcap及开发包。winpcap下载地址:http://www.winpcap.org/install/default.htm winpcap开发包: http://www.winpcap.org/devel.htm2. 安装winpcap3. 解压winpcap开发包,将得到一个WpdPack目录,该目录中包含了5个子目录:docs、Examples-pcap、Examples-r 阅读全文
posted @ 2011-05-20 00:05 董雨 阅读(205) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/TianFang/archive/2007/11/26/972681.htmlWinPcap编程1——简介什么是WinPcapWinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库. 大多数网络应用程序通过被广泛使用的操作系统元件来访问网络,比如sockets。 这是一种简单的实现方式,因为操作系统已经妥善处理了底层具体实现细节(比如协议处理,封装数据包等等),并且提供了一个与读写文件类似的,令人熟悉的接口。 然而,有些时候,这种“简单的方式”并不能满足任务的需求,因为有些应用程序需要直接访问网络中的数据包。也就是说,那些应 阅读全文
posted @ 2011-05-20 00:04 董雨 阅读(229) 评论(0) 推荐(0) 编辑