Hi.

I've built Nmap 5.10BETA1 from source.
When I run it I get an error:
Failed to determine the MAC address of bge0!: Invalid argument (22)

truss nmap gives:
...
11146:   1.6062 so_socket(PF_INET, SOCK_DGRAM, IPPROTO_IP, 0x00000000, 
SOV_XPG4_2) = 4
11146:   1.6063 ioctl(4, SIOCGIFCONF, 0x08043358)               = 0
11146:   1.6063 ioctl(4, SIOCGIFNETMASK, 0x08043308)            = 0
11146:   1.6064 ioctl(4, SIOCGIFFLAGS, 0x08043308)              = 0
11146:   1.6064 ioctl(4, SIOCGIFNETMASK, 0x08043308)            = 0
11146:   1.6064 ioctl(4, SIOCGIFFLAGS, 0x08043308)              = 0
11146:   1.6065 ioctl(4, _IOWRN('i', 185, 4), 0x08043308)       Err#22 EINVAL
11146:   1.6065 fstat64(2, 0x08042300)                          = 0
...

In the source files of nmap I found this ioctl:
...
#ifdef SIOCGIFHWADDR
      memcpy(&tmpifr.ifr_addr, sin, MIN(sizeof(tmpifr.ifr_addr), sizeof(*sin)));
      rc = ioctl(sd, SIOCGIFHWADDR, &tmpifr); 
      if (rc < 0 && errno != EADDRNOTAVAIL)
        pfatal("Failed to determine the MAC address of %s!", tmpifr.ifr_name);
      else if (rc >= 0)
        memcpy(devs[count].mac, &tmpifr.ifr_addr.sa_data, 6);
#else
...

In OpenSolaris include files I found SIOCGIFHWADDR:
/usr/include/sys/sockio.h:#define       SIOCGIFHWADDR   _IOWR('i', 185, int)    
/* PF_PACKET */

Is this call (ioctl(SIOCGIFHWADDR)) valid? Or is this a bug?
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to