Chinaunix首页 | 论坛 | 博客
  • 博客访问: 452056
  • 博文数量: 70
  • 博客积分: 3170
  • 博客等级: 中校
  • 技术积分: 756
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-06 16:47
文章分类

全部博文(70)

文章存档

2011年(22)

2010年(33)

2009年(5)

2008年(10)

arp

分类: C/C++

2010-05-14 10:15:33

/*
 * main.c
 *
 *  Created on: 2010-5-13
 *      Author: root
 */

#include
#include
#include
#include
int main(){
        int packet_size;
        libnet_t *l;
        libnet_ptag_t protocol_tag;
        char *device ="eth0";
        char error_infomation[LIBNET_ERRBUF_SIZE];
        char *destination_ip_str = "192.168.18.147";
        char *source_ip_str = "192.168.18.106";
        u_char hardware_source[6] = {0x01,0x02,0x03,0x04,0x05,0x07};
        u_char hardware_destination[6] = {0x01,0x02,0x03,0x04,0x05,0x08};
        u_long destination_ip ;
        u_long source_ip;
        destination_ip = libnet_name2addr4(l,destination_ip_str,LIBNET_DONT_RESOLVE);
        source_ip = libnet_name2addr4(l,source_ip_str,LIBNET_DONT_RESOLVE);
        l = libnet_init(LIBNET_LINK_ADV,device,error_infomation);
        printf("ip:[%lu]:[%lu]\n",source_ip,destination_ip);
        protocol_tag = libnet_build_arp(ARPHRD_ETHER,ETHERTYPE_IP,6,4,ARPOP_REQUEST,hardware_source,(u_int8_t *)&source_ip,
                                                                                            hardware_destination,
                                                                                            (u_int8_t *)&destination_ip,NULL,0,l,0);
        protocol_tag = libnet_autobuild_ethernet(hardware_destination,ETHERTYPE_ARP,l);
        packet_size = libnet_write(l);
        libnet_destroy(l);
        return 0;

}

阅读(772) | 评论(0) | 转发(0) |
0

上一篇:libnids 一例

下一篇:rst and fin

给主人留下些什么吧!~~