想请教下大家一些网络方面的问题:
我想写一个程序:在一个局域网内用mini2440来广播ARP包,然后找出空闲的IP地址,并显示出来
大家都有什么方案?!!!帮我改进下!!!
方案一:不知道有没有arp_send()函数、arp_rcv()函数,似乎都有,请看这里
http://net.chinaunix.net/5/2008/05/22/1151219.shtml 但不知道怎么用,因不知道这个函数定义哪个头文件中,谁有这方面的例子吗?!!!
方案二:一般情况下对网卡的操作都是通过操作系统的,而我现在想直接操作网卡芯片(DM9000),读网卡的缓存,将网卡收到的ARP应答(包含IP与MAC)显示出来,
而不经过操作系统,这样可以吗?!!!会不会因为操作系统打开网卡设备,就再也无法打开网卡设备了,就是说一个设备可不可以同时被打开两次。
方案三:修改操作系统内核,每当ARP程序打开时,并启动发送ARP广播信号时,操作系统内核都将收到的ARP应答复制一份给ARP程序,然后ARP程序显示出IP和对应MAC。