1
0
mirror of https://github.com/nmap/nmap.git synced 2026-01-25 15:49:02 +00:00

Fixed a bug that prevented Nmap from finding any interfaces when one

of them had the type ARPHDR_INFINIBAND; this was the case for
IP-over-InfiniBand interfaces. However, This support is not complete
since IPoIB interfaces use 20 bytes for the hardware address, and
currently we only report and handle 6 bytes.
Nmap IP level scans should work without any problem, please refer to
the '--send-ip' switch and to the following thread:
http://seclists.org/nmap-dev/2012/q3/642

This bug was reported by starlight.2012q3.
This commit is contained in:
djalal
2012-09-26 09:24:00 +00:00
parent e017b7c290
commit af495cdc49
4 changed files with 46 additions and 0 deletions

View File

@@ -1,5 +1,15 @@
# Nmap Changelog ($Id$); -*-text-*-
o Fixed a bug that prevented Nmap from finding any interfaces when one
of them had the type ARPHDR_INFINIBAND; this was the case for
IP-over-InfiniBand interfaces. However, This support is not complete
since IPoIB interfaces use 20 bytes for the hardware address, and
currently we only report and handle 6 bytes.
Nmap IP level scans should work without any problem, please refer to
the '--send-ip' switch and to the following thread:
http://seclists.org/nmap-dev/2012/q3/642
This bug was reported by starlight.2012q3. [Djalal Harouni]
o Fixed a bug that prevented Nmap from finding any interfaces when one
of them had the type ARPHDR_IEEE80211; this was the case for wireless
interfaces operating in access point mode. This bug was reported by

View File

@@ -1226,3 +1226,37 @@ Index: libdnet-stripped/src/addr.c
case ARP_HRD_IEEE80211_RADIOTAP: /* IEEE 802.11 + radiotap header */
a->addr_type = ADDR_TYPE_ETH;
a->addr_bits = ETH_ADDR_BITS;
o Support IP-over-InfiniBand devices and make addr_ston able to handle
them. However, this support is not complete since IPoIB interfaces
use 20 bytes for the hardware address, and currently we only report
and handle 6 bytes. Nmap IP level scans should work without any
problem, please see Nmap's '--send-ip' switch.
For more information, please see this thread:
http://seclists.org/nmap-dev/2012/q3/642
Index: libdnet-stripped/include/dnet/arp.h
===================================================================
--- libdnet-stripped/include/dnet/arp.h (revision 29876)
+++ libdnet-stripped/include/dnet/arp.h (working copy)
@@ -39,6 +39,7 @@
#define ARP_HRD_ETH 0x0001 /* ethernet hardware */
#define ARP_HRD_IEEE802 0x0006 /* IEEE 802 hardware */
+#define ARP_HRD_INFINIBAND 0x0020 /* InfiniBand */
#define ARP_HDR_IEEE80211 0x0321 /* IEEE 802.11 */
#define ARP_HRD_IEEE80211_RADIOTAP 0x0323 /* IEEE 802.11 + radiotap header */
#define ARP_HRD_VOID 0xFFFF /* Void type, nothing is known */
Index: libdnet-stripped/src/addr.c
===================================================================
--- libdnet-stripped/src/addr.c (revision 29876)
+++ libdnet-stripped/src/addr.c (working copy)
@@ -318,6 +318,7 @@
#endif
case AF_UNSPEC:
case ARP_HRD_ETH: /* XXX- Linux arp(7) */
+ case ARP_HRD_INFINIBAND: /* InfiniBand */
case ARP_HDR_IEEE80211: /* IEEE 802.11 */
case ARP_HRD_IEEE80211_RADIOTAP: /* IEEE 802.11 + radiotap header */
a->addr_type = ADDR_TYPE_ETH;

View File

@@ -39,6 +39,7 @@ struct arp_hdr {
#define ARP_HRD_ETH 0x0001 /* ethernet hardware */
#define ARP_HRD_IEEE802 0x0006 /* IEEE 802 hardware */
#define ARP_HRD_INFINIBAND 0x0020 /* InfiniBand */
#define ARP_HDR_IEEE80211 0x0321 /* IEEE 802.11 */
#define ARP_HRD_IEEE80211_RADIOTAP 0x0323 /* IEEE 802.11 + radiotap header */
#define ARP_HRD_VOID 0xFFFF /* Void type, nothing is known */

View File

@@ -318,6 +318,7 @@ addr_ston(const struct sockaddr *sa, struct addr *a)
#endif
case AF_UNSPEC:
case ARP_HRD_ETH: /* XXX- Linux arp(7) */
case ARP_HRD_INFINIBAND: /* InfiniBand */
case ARP_HDR_IEEE80211: /* IEEE 802.11 */
case ARP_HRD_IEEE80211_RADIOTAP: /* IEEE 802.11 + radiotap header */
a->addr_type = ADDR_TYPE_ETH;