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]