随笔分类 -  VC编程

(原创)如何利用UDP协议封装一个数据包
摘要:在如何封装一个数据包上,是一个非常细致的问题,而利用UDP协议来封装的话,是比较简单,让我们一步步来分析典型的TCP/IP协议。一般来说一个典型的一个数据包,包括以太网MAC头+网络层IP数据头+传输层UDP头+要传输的数据。让我们一层层来看看这些数据头是如何构成的。  1、以太网MAC头  一般情况下,以太网MAC头由14个字节构成,12个自己的MAC地址+上层协议的标识符。举个例子  如果你要... 阅读全文

posted @ 2010-11-29 13:15 yingfang18 阅读(8952) 评论(0) 推荐(0) 编辑

(原创)WinpCap的详解(三)
摘要:接着WinpCap详解(二),这篇博客主要来讨论一下,堆文件的处理以及简单发送数据包。1、处理脱机堆文件  我们将学习如何处理捕获到文件中的数据包。 WinPcap提供了很多函数来将网络数据流保存到文件并读取它们 -- 本讲将教你如何使用这些函数。我们还将看到如何使用WinPcap内核堆特性来获取一个高性能的堆。  堆文件的格式是libpcap的一种。这种格式中,包含了被捕捉到的包的二进制数据,并... 阅读全文

posted @ 2010-11-28 14:14 yingfang18 阅读(8702) 评论(0) 推荐(1) 编辑

(原创)WinpCap的详解(二)
摘要:接着上一篇博客,这里接着谈论WinpCap的详解(二)。1、不用回调函数捕获数据  pcap_loop()函数是基于回调的原理来进行数据捕获,这是一种精妙的方法,并且在某些场合中,它是一种很好的选择。 然而,处理回调有时候并不实用 -- 它会增加程序的复杂度,特别是在拥有多线程的C++程序中。   可以通过直接调用pcap_next_ex() 函数来获得一个数据包 -- 只有当编程人员使用了 pc... 阅读全文

posted @ 2010-11-27 15:41 yingfang18 阅读(7748) 评论(1) 推荐(1) 编辑

(原创)WinpCap的详解(一)
摘要:首先来百科一下Winpcap是一个什么东东。Winpcap(windows packet capture)是windows平台下一个免费,公共的网络访问系统。 它有如下几个功能: 1、捕获原始数据包,包括在共享网络上各主机发送/接收的以及相互之间交换的数据; 2、在数据包发往应用程序之前,按照自定义的规则将某些特殊的数据包过滤掉; 3、在网络上发送原始的数据包; 4、收集网络通信过程中的统计信息。 从上面的功能来看,这个库文件提供了许多的API函数,可以让我们捕获网络上的数据包以及统计网络通信的信息。为了更直观的反应这个库文件的作用,我们来看看利用这个库文件写出来的一个应用软件,wiresh. 阅读全文

posted @ 2010-11-27 14:04 yingfang18 阅读(25822) 评论(1) 推荐(2) 编辑

导航