首页 | Linux | 论坛 | 精华 | 博客 | 资料 | 手册 | 知识库 | 下载 | 人才 | 沙龙 | 搜索 | 登录 | 注册  
下载分类
操作系统
系统相关
网络互连
开发工具
应用程序
多媒体工具
游戏娱乐
资料视频
本类周下载TOP10
本类总下载TOP10
您的位置:自由软件库->资料视频->libnet

首字母搜索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z


软件名称: libnet
授权方式: GPL
操作系统: Linux,FreeBSD,UNIX
软件大小: 1.2M
最新更新: 2012-04-07 21:29:16
软件简介:

libnet提供的接口函数主要实现和封装了数据包的构造和发送过程。
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的使用更为方便。作者还提供了基于老版本的应用程序移植到新版本上的方法指导。利用libnet1.1函数库开发应用程序的基本步骤以及几个关键的函数使用方法简介如下:

初始化 libnet_t *libnet_init(int injection_type, char *device, char *err_buf);
 


该函数初始化libnet函数库,返回一个libnet_t类型的描述符,以备随后的构造数据报和发送数据报的函数中使用。injection_type指明了发送数据报使用的接口类型,如数据链路层或者原始套接字等。Device是一个网络设备名称的字符串,在Linux下是"eth0"等。如果函数错误,返回NULL,而err_buf字符串中将携带有错误的原因。

数据报的构造
libnet提供了丰富的数据报的构造函数,可以构造TCP/IP协议族中大多数协议的报文,还提供了一些对某些参数取默认数值的更简练的构造函数供用户选择。比如libnet_autobuild_ipv4()等。

数据报的发送 int libnet_write(libnet_t *l);
 


该函数将l中描述的数据报发送的网络上。成功将返回发送的字节数,如果失败,返回-1。你可以调用libnet_geterror()得到错误的原因

退出 void libnet_destroy(libnet_t *l);
 
Libnet is a high-level API (toolkit) allowing the application programmer to construct and inject network packets. It provides a portable and simplified interface for low-level network packet shaping, handling and injection. Libnet hides much of the tedium of packet creation from the application programmer such as multiplexing, buffer management, arcane packet header information, byte-ordering, OS-dependent issues, and much more. Libnet features portable packet creation interfaces at both the IP-layer and link-layer, as well as a host of supplementary and complementary functionality. Using libnet, quick and simple packet assembly applications can be whipped up with little effort. With a bit more time, more complex programs can be written (Traceroute and Ping were easily rewritten using libnet and libpcap).

Libnet was designed and is primarily maintained by Mike D. Schiffman (mike_schiffman aht hotmail dawt com) and a host of other people (please see the libnet documentation for the complete list of contributers).

相关论坛: 下载频道交流区 讨论区
立即下载

libnet-1.0.2a.tar.gz
libnet-1.1.2.1.tar.gz
libnet-1.19.tar.gz
libnet-1.20.tar.gz
libnet-1.21.tar.gz
libnet-1.22.tar.gz
libnet-1.1.4.tar.gz
libnet-1.1.5.tar.gz
libnet-1.1.6-rc3.tar.gz

 Linux最新资讯更多>> 
·Evernote推进入华节奏:
·桌面操作系统 4 月最新
·Linux基金会:Linux成B
·中国联通升级HSPA+网络
·联通“随意打”论战:绝
·阿里巴巴集团30亿美元贷
·要以扫黄打非的精神进行
·内核源码,ARM架构上的
·Ubuntu 10.04版本企业云
·企业级Linux三国鼎立 与
·开源图像软件GIMP开发者
·不给Source就捣蛋?谈G
 IT最新资讯更多>> 
·大连外企500强急招java
·(内部推荐)EMC-Princ
·(内部推荐)EMC-greenpl
·页游公司招聘:运维开发
·赶集移动部门招聘前端开
·【北京】知名软件公司招
·有莫有C++ and C# and
·下班路上捡到一张工资表
·猎头代招:北京大型上市
·DSI猎头代招:华为-IP部
·上海诚聘JAVA工程师
·微软和苹果10大失败产品
·Darl McBride离开领导岗
·提升Qt的应用诺基亚即将
 综合:更多>> 
·PHP中strtotime函数使用
·五个常见 PHP数据库问题
·初探PHP单元测试利器:
·PHP开发人员容易忽略的
·逃离伪PHP程序员应该做
·大型Web应用运行时 PHP
·PHP企业级应用缓存技术
·PHP应用提速面面观
·用书签查询网站pr值
·PHP句法规则详解
·阴历-农历-转换类
·PHP定时执行任务的实现
·几种有用的变型 PHP中循
·PHP如何修改Linux或Uni
·PHP中全面阻止SQL注入式
·分享几个非常有用的PHP
·PHP面向对象法则
·优化PHP程序的方法
·orcale queue
·谁可以推荐几本经典的操
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 友情链接 | 免费注册

Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们

京ICP证041476号