///////////////////////////////////////////////////////////////////////////////////
libnet
是一个小型的接口函数库,主要用c语言写成,提供了低层网络数据报的构造、处理和发送功能。
libnet的开发目的是:
建立一个简单统一的网络编程接口以屏蔽不同操作系统低层网络编程的差别,使得程序员将精力集中在解决关键问题上。
他的主要特点是:
高层接口:libnet主要用c语言写成
可移植性:libnet目前可以在linux、freebsd、solaris、windowsnt等操作系统上运行,并且提供了统一的接口
数据报构造:libnet提供了一系列的tcp/ip数据报文的构造函数以方便用户使用
数
据报的处理:libnet提供了一系列的辅助函数,利用这些辅助函数,帮助用户简化那些烦琐的事务性的编程工作
数据报发送
:libnet允许用户在两种不同的数据报发送方法中选择。
另外libnet允许程序获得对数据报的绝对的控制,其中一些是传统的网络程序接口所不提供的。这也是libnet的魅力之一。
libnet支持tcp/ip协议族中的多种协议,比如其上一个版本libnet1.0支持了10种协议,一些新的协议,比如对ipv6的支持还在开发之中。
libnet目前最新的版本是1.1版本,在该版本中,作者将这些函数做了进一步的封装,用户的使用步骤也得到了进一步的简化。
内存的初始化、管理、释放等以及校验和的计算等函数,在默认情况下,都无须用户直接干预,使得libnet的使用更为方便
。作者还提供了基于老版本的应用程序移植到新版本上的方法指导.
----------------------------------------------
此篇文章从博客转发
原文地址:
Http://blog.gkong.com/more.asp?id=130165&Name=zjcsharp