Changeset 33094


Ignore:
Timestamp:
Aug 10, 2017, 7:34:23 PM (11 days ago)
Author:
brainslayer
Message:

show only warning if spoof was detected

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/linux/universal/linux-4.9/net/ipv4/arp.c

    r32517 r33094  
    13641364        memcpy(&sip, arp_ptr, 4);
    13651365
    1366         for(i = 0;  i < MAX_ARP_SPOOFING_TABLE; i++)
    1367         {
    1368                 if(szIPMac[i].szIPaddr == 0)
    1369                 {
     1366        for(i = 0;  i < MAX_ARP_SPOOFING_TABLE; i++) {
     1367                if(szIPMac[i].szIPaddr == 0) {
    13701368                        break;
    13711369                }
    13721370                               
    1373                 if(sip == szIPMac[i].szIPaddr)
    1374                 {
    1375                         printk("ip=%x match mac %02x:%02x:%02x:%02x:%02x:%02x= %02x:%02x:%02x:%02x:%02x:%02x\n", sip,
     1371                if(sip == szIPMac[i].szIPaddr) {
     1372                        if(szIPMac[i].szMac[0]== *sha && szIPMac[i].szMac[1]== *(sha+1) &&
     1373                                szIPMac[i].szMac[2]== *(sha+2) && szIPMac[i].szMac[3]== *(sha+3) &&
     1374                                szIPMac[i].szMac[4]== *(sha+4) && szIPMac[i].szMac[5]== *(sha+5) ) {
     1375                                return 0;
     1376                        } else {
     1377                                unsigned char *ip = (unsigned char)&sip;
     1378                                printk(KERN_ERR "arp spoofing detected ip=%d.%d.%d.%d mac is %02x:%02x:%02x:%02x:%02x:%02x but should be %02x:%02x:%02x:%02x:%02x:%02x\n", ip[0]&0xff,ip[1]&0xff,ip[2]&0xff,ip[3]&0xff,
    13761379                                szIPMac[i].szMac[0], szIPMac[i].szMac[1], szIPMac[i].szMac[2], szIPMac[i].szMac[3], szIPMac[i].szMac[4], szIPMac[i].szMac[5],
    13771380                                *sha, *(sha+1), *(sha+2), *(sha+3), *(sha+4), *(sha+5));
    1378                         if(szIPMac[i].szMac[0]== *sha && szIPMac[i].szMac[1]== *(sha+1) &&
    1379                                 szIPMac[i].szMac[2]== *(sha+2) && szIPMac[i].szMac[3]== *(sha+3) &&
    1380                                 szIPMac[i].szMac[4]== *(sha+4) && szIPMac[i].szMac[5]== *(sha+5) )
    1381                         {
    1382                                 return 0;
    1383                         }
    1384                         else
    1385                         {
    13861381                                return 1;
    13871382                        }
Note: See TracChangeset for help on using the changeset viewer.