设为首页 加入收藏

TOP

Linux 网络编程—— libnet 使用指南(二)
2015-07-16 12:57:24 来源: 作者: 【 】 浏览:14
Tags:Linux 网络编程 libnet 使用指南
t 自动填充


src:源 ip 地址


dst:目的ip地址


payload:负载,可设置为 NULL(这里通常写 NULL)


payload_s:负载长度,或为 0(这里通常写 0 )


l:libnet 句柄,libnet_init() 返回的 libnet * 指针


ptag:协议标记,第一次组新的发送包时,这里写 0,同一个应用程序,下一次再组包时,这个位置的值写此函数的返回值。


返回值:


成功:协议标记


失败:-1


libnet_ptag_t libnet_build_ipv4_options(


u_int8_t*options, u_int32_t options,


libnet_t*l, libnet_ptag_t ptag)


功能:


构造 IPv4 选项数据包


参数:


options:tcp 选项字符串


options_s:选项长度


l:libnet 句柄,libnet_init() 返回的 libnet * 指针


ptag:协议标记,若为 0,建立一个新的协议


返回值:


成功:协议标记


失败:-1


libnet_ptag_t libnet_build_arp(


u_int16_t hrd, u_int16_t pro,


u_int8_t hln, u_int8_t pln,


u_int16_t op, u_int8_t *sha,


u_int8_t *spa, u_int8_t *tha,


u_int8_t *tpa, u_int8_t *payload,


u_int32_t payload_s, libnet_t *l,


libnet_ptag_t ptag )


功能:


构造 arp 数据包


参数:


hrd:硬件地址格式,ARPHRD_ETHER(以太网)


pro:协议地址格式,ETHERTYPE_IP( IP协议)


hln:硬件地址长度


pln:协议地址长度


op:ARP协议操作类型(1:ARP请求,2:ARP回应,3:RARP请求,4:RARP回应)


sha:发送者硬件地址


spa:发送者协议地址


tha:目标硬件地址


tpa:目标协议地址


payload:负载,可设置为 NULL(这里通常写 NULL)


payload_s:负载长度,或为 0(这里通常写 0 )


l:libnet 句柄,libnet_init() 返回的 libnet * 指针


ptag:协议标记,第一次组新的发送包时,这里写 0,同一个应用程序,下一次再组包时,这个位置的值写此函数的返回值。


返回值:


成功:协议标记


失败:-1


libnet_ptag_t libnet_build_ethernet(


u_int8_t*dst, u_int8_t *src,


u_int16_ttype, u_int8_t*payload,


u_int32_tpayload_s, libnet_t*l,


libnet_ptag_t ptag )


功能:


构造一个以太网数据包


参数:


dst:目的 mac


src:源 mac


type:上层协议类型


payload:负载,即附带的数据,可设置为 NULL(这里通常写 NULL)


payload_s:负载长度,或为 0(这里通常写 0 )


l:libnet 句柄,libnet_init() 返回的 libnet * 指针


ptag:协议标记,第一次组新的发送包时,这里写 0,同一个应用程序,下一次再组包时,这个位置的值写此函数的返回值。


返回值:


成功:协议标记


失败:-1


int libnet_write(libnet_t * l)


功能:


发送数据包


参数:


l:libnet 句???,libnet_init() 返回的 libnet * 指针


返回值:


成功:发送数据包的长度


失败:返回 -1


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux 网络编程——TCP 和 UDP 数.. 下一篇libnet 函数列表

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: