Yevgeniy Litvinenko wrote:
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?
At present, SIOCGIFHWADDR is only supported on PF_PACKET sockets, not PF_INET sockets.
Darren _______________________________________________ networking-discuss mailing list [email protected]
