//have receive data suggest the IP has been used by some mac
if(len>ETHER_HEADER_LEN){
if(sip == inet_addr(ipaddr))
{
close(rec);
return 0;
}
}
close(rec);
return 1;
}
int main(int argc, char *argv[])
{
char * ip;
int i,j;
int count= 0;
struct in_addr ina;
if(argc!=2)
{
fprintf(stderr,"bad argument\nipcheck [networkaddress]\n");
printf("starting from %s\n",inet_ntoa(ina));
for(j=0;j254;j++)
{
ip = inet_ntoa(ina);
i = CheckIPCollision(ip);
if(1 == i)
{
//printf("IP: %s is not in use now.\n",ip);
}
else if(-1 == i)
printf("Error in arp process check if you have root privilege\n");
else
{
count ++;
int i;
printf("[%02d]IP: %s\tis in use! ",count,ip);
printf("[MAC Address]: ");
for(i=0;i5;i++)
printf("%02x:",arp_pkt.sender_eth);
printf("%02x\n",arp_pkt.sender_eth[5]);
}
ina.s_addr = ntohl(ina.s_addr);
ina.s_addr +=1;
ina.s_addr = htonl(ina.s_addr);
//binip++;
}
if(- i)
{
printf("-------------IP checking Statistics---------------\n");
printf("Total %d IPs are in use in current network\n",count);
}