mirror of
https://github.com/nmap/nmap.git
synced 2025-12-07 13:11:28 +00:00
Spellcheck: common misspellings in the entire source tree
This commit is contained in:
@@ -427,7 +427,7 @@ int HopByHopHeader::addOption(u8 type, u8 len, const u8 *data){
|
|||||||
|
|
||||||
|
|
||||||
/* If the current length of the extension header is not a multiple of 8 octets,
|
/* If the current length of the extension header is not a multiple of 8 octets,
|
||||||
* this method adds the neccessary padding (either PadN or Pad1 options)*/
|
* this method adds the necessary padding (either PadN or Pad1 options)*/
|
||||||
int HopByHopHeader::addPadding(){
|
int HopByHopHeader::addPadding(){
|
||||||
u8 zeroes[8]={0,0,0,0,0,0,0,0};
|
u8 zeroes[8]={0,0,0,0,0,0,0,0};
|
||||||
int required_octets=8-(this->length%8);
|
int required_octets=8-(this->length%8);
|
||||||
|
|||||||
@@ -1029,7 +1029,7 @@ u32 ICMPv4Header::getOutputLinkMTU() const {
|
|||||||
} /* End of getOutputLinkMTU() */
|
} /* End of getOutputLinkMTU() */
|
||||||
|
|
||||||
|
|
||||||
/* Miscellanious *************************************************************/
|
/* Miscellaneous *************************************************************/
|
||||||
/** Returns the standard ICMP header length for the supplied ICMP message type.
|
/** Returns the standard ICMP header length for the supplied ICMP message type.
|
||||||
* @warning Return value corresponds strictly to the ICMP header, this is,
|
* @warning Return value corresponds strictly to the ICMP header, this is,
|
||||||
* the minimum length of the ICMP header, variable length payload is never
|
* the minimum length of the ICMP header, variable length payload is never
|
||||||
|
|||||||
@@ -665,7 +665,7 @@ int IPv4Header::setOpts(const char *txt){
|
|||||||
int IPv4Header::setOpts(u8 *opts_buff, u32 opts_len){
|
int IPv4Header::setOpts(u8 *opts_buff, u32 opts_len){
|
||||||
if(opts_buff==NULL || opts_len==0)
|
if(opts_buff==NULL || opts_len==0)
|
||||||
return OP_FAILURE;
|
return OP_FAILURE;
|
||||||
assert(opts_len<=MAX_IP_OPTIONS_LEN); /* Max lenght for IP options */
|
assert(opts_len<=MAX_IP_OPTIONS_LEN); /* Max length for IP options */
|
||||||
memcpy(this->h.options, opts_buff, opts_len);
|
memcpy(this->h.options, opts_buff, opts_len);
|
||||||
this->ipoptlen=opts_len;
|
this->ipoptlen=opts_len;
|
||||||
this->length += opts_len;
|
this->length += opts_len;
|
||||||
|
|||||||
@@ -130,7 +130,7 @@
|
|||||||
#include "NetworkLayerElement.h"
|
#include "NetworkLayerElement.h"
|
||||||
|
|
||||||
#define IP_RF 0x8000 /* Reserved fragment flag */
|
#define IP_RF 0x8000 /* Reserved fragment flag */
|
||||||
#define IP_DF 0x4000 /* Dont fragment flag */
|
#define IP_DF 0x4000 /* Don't fragment flag */
|
||||||
#define IP_MF 0x2000 /* More fragments flag */
|
#define IP_MF 0x2000 /* More fragments flag */
|
||||||
#define IP_OFFMASK 0x1fff /* Mask for fragmenting bits */
|
#define IP_OFFMASK 0x1fff /* Mask for fragmenting bits */
|
||||||
#define IP_HEADER_LEN 20 /* Length of the standard header */
|
#define IP_HEADER_LEN 20 /* Length of the standard header */
|
||||||
@@ -213,7 +213,7 @@ class IPv4Header : public NetworkLayerElement {
|
|||||||
int setTOS(u8 v);
|
int setTOS(u8 v);
|
||||||
u8 getTOS() const;
|
u8 getTOS() const;
|
||||||
|
|
||||||
/* Total lenght of the datagram */
|
/* Total length of the datagram */
|
||||||
int setTotalLength();
|
int setTotalLength();
|
||||||
int setTotalLength(u16 l);
|
int setTotalLength(u16 l);
|
||||||
u16 getTotalLength() const;
|
u16 getTotalLength() const;
|
||||||
|
|||||||
@@ -253,7 +253,7 @@ class PacketElement {
|
|||||||
} /* End of getBinaryBuffer() */
|
} /* End of getBinaryBuffer() */
|
||||||
|
|
||||||
|
|
||||||
/** Returns the lenght of this PacketElement + the length of all the
|
/** Returns the length of this PacketElement + the length of all the
|
||||||
* PacketElements that are next to it (are linked trough the "next"
|
* PacketElements that are next to it (are linked trough the "next"
|
||||||
* attribute). So for example, if we have IPv4Header p1, linked to
|
* attribute). So for example, if we have IPv4Header p1, linked to
|
||||||
* a TCPHeader p2, representing a simple TCP SYN with no options,
|
* a TCPHeader p2, representing a simple TCP SYN with no options,
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ int RoutingHeader::storeRecvData(const u8 *buf, size_t len){
|
|||||||
this->length=0;
|
this->length=0;
|
||||||
return OP_FAILURE;
|
return OP_FAILURE;
|
||||||
}else{
|
}else{
|
||||||
/* Store the first 4 bytes, so we can access lenght and routing type */
|
/* Store the first 4 bytes, so we can access length and routing type */
|
||||||
memcpy(&(this->h), buf, 4);
|
memcpy(&(this->h), buf, 4);
|
||||||
|
|
||||||
/* Our behaviour is different depending on the routing type. */
|
/* Our behaviour is different depending on the routing type. */
|
||||||
|
|||||||
@@ -338,26 +338,26 @@ int UDPHeader::setTotalLength(){
|
|||||||
* here because UDP is supposed to be independent of IPv4, IPv6 or
|
* here because UDP is supposed to be independent of IPv4, IPv6 or
|
||||||
* whatever other network layer protocol is used to carry the UDP datagrams.*/
|
* whatever other network layer protocol is used to carry the UDP datagrams.*/
|
||||||
if ((mylen+otherslen) > 65535 || (mylen+otherslen)<8 ){
|
if ((mylen+otherslen) > 65535 || (mylen+otherslen)<8 ){
|
||||||
printf("UDPHeader::setTotalLenght(): Invalid length.\n");
|
printf("UDPHeader::setTotalLength(): Invalid length.\n");
|
||||||
return OP_FAILURE;
|
return OP_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
h.uh_ulen=htons( mylen+otherslen );
|
h.uh_ulen=htons( mylen+otherslen );
|
||||||
|
|
||||||
return OP_SUCCESS;
|
return OP_SUCCESS;
|
||||||
} /* End of setTotalLenght() */
|
} /* End of setTotalLength() */
|
||||||
|
|
||||||
|
|
||||||
/** @warning Supplied value MUST be in HOST byte order */
|
/** @warning Supplied value MUST be in HOST byte order */
|
||||||
int UDPHeader::setTotalLength(u16 l){
|
int UDPHeader::setTotalLength(u16 l){
|
||||||
this->h.uh_ulen=htons(l);
|
this->h.uh_ulen=htons(l);
|
||||||
return OP_SUCCESS;
|
return OP_SUCCESS;
|
||||||
} /* End of setTotalLenght() */
|
} /* End of setTotalLength() */
|
||||||
|
|
||||||
|
|
||||||
/** @warning Returned value is in HOST byte order */
|
/** @warning Returned value is in HOST byte order */
|
||||||
u16 UDPHeader::getTotalLength() const {
|
u16 UDPHeader::getTotalLength() const {
|
||||||
return ntohs(this->h.uh_ulen);
|
return ntohs(this->h.uh_ulen);
|
||||||
} /* End of getTotalLenght() */
|
} /* End of getTotalLength() */
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ struct ip {
|
|||||||
short ip_len; /* total length */
|
short ip_len; /* total length */
|
||||||
u_short ip_id; /* identification */
|
u_short ip_id; /* identification */
|
||||||
short ip_off; /* fragment offset field */
|
short ip_off; /* fragment offset field */
|
||||||
#define IP_DF 0x4000 /* dont fragment flag */
|
#define IP_DF 0x4000 /* don't fragment flag */
|
||||||
#define IP_MF 0x2000 /* more fragments flag */
|
#define IP_MF 0x2000 /* more fragments flag */
|
||||||
#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */
|
#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */
|
||||||
u_char ip_ttl; /* time to live */
|
u_char ip_ttl; /* time to live */
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ struct ip
|
|||||||
u_short ip_id; /* identification */
|
u_short ip_id; /* identification */
|
||||||
u_short ip_off; /* fragment offset field */
|
u_short ip_off; /* fragment offset field */
|
||||||
#define IP_RF 0x8000 /* reserved fragment flag */
|
#define IP_RF 0x8000 /* reserved fragment flag */
|
||||||
#define IP_DF 0x4000 /* dont fragment flag */
|
#define IP_DF 0x4000 /* don't fragment flag */
|
||||||
#define IP_MF 0x2000 /* more fragments flag */
|
#define IP_MF 0x2000 /* more fragments flag */
|
||||||
#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */
|
#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */
|
||||||
u_char ip_ttl; /* time to live */
|
u_char ip_ttl; /* time to live */
|
||||||
@@ -151,7 +151,7 @@ struct iphdr {
|
|||||||
short ip_len; /* total length */
|
short ip_len; /* total length */
|
||||||
u_short ip_id; /* identification */
|
u_short ip_id; /* identification */
|
||||||
short ip_off; /* fragment offset field */
|
short ip_off; /* fragment offset field */
|
||||||
#define IP_DF 0x4000 /* dont fragment flag */
|
#define IP_DF 0x4000 /* don't fragment flag */
|
||||||
#define IP_MF 0x2000 /* more fragments flag */
|
#define IP_MF 0x2000 /* more fragments flag */
|
||||||
u_char ip_ttl; /* time to live */
|
u_char ip_ttl; /* time to live */
|
||||||
u_char ip_p; /* protocol */
|
u_char ip_p; /* protocol */
|
||||||
|
|||||||
@@ -284,7 +284,7 @@ struct _PACKET_OID_DATA {
|
|||||||
ULONG Oid; ///< OID code. See the Microsoft DDK documentation or the file ntddndis.h
|
ULONG Oid; ///< OID code. See the Microsoft DDK documentation or the file ntddndis.h
|
||||||
///< for a complete list of valid codes.
|
///< for a complete list of valid codes.
|
||||||
ULONG Length; ///< Length of the data field
|
ULONG Length; ///< Length of the data field
|
||||||
UCHAR Data[1]; ///< variable-lenght field that contains the information passed to or received
|
UCHAR Data[1]; ///< variable-length field that contains the information passed to or received
|
||||||
///< from the adapter.
|
///< from the adapter.
|
||||||
};
|
};
|
||||||
typedef struct _PACKET_OID_DATA PACKET_OID_DATA, *PPACKET_OID_DATA;
|
typedef struct _PACKET_OID_DATA PACKET_OID_DATA, *PPACKET_OID_DATA;
|
||||||
|
|||||||
@@ -446,7 +446,7 @@ struct bpf_version {
|
|||||||
* interface (irdaX), but not on a raw serial port.
|
* interface (irdaX), but not on a raw serial port.
|
||||||
* Note the capture is done in "Linux-cooked" mode, so each packet include
|
* Note the capture is done in "Linux-cooked" mode, so each packet include
|
||||||
* a fake packet header (struct sll_header). This is because IrDA packet
|
* a fake packet header (struct sll_header). This is because IrDA packet
|
||||||
* decoding is dependant on the direction of the packet (incomming or
|
* decoding is dependent on the direction of the packet (incoming or
|
||||||
* outgoing).
|
* outgoing).
|
||||||
* When/if other platform implement IrDA capture, we may revisit the
|
* When/if other platform implement IrDA capture, we may revisit the
|
||||||
* issue and define a real DLT_IRDA...
|
* issue and define a real DLT_IRDA...
|
||||||
|
|||||||
@@ -395,7 +395,7 @@ struct pcap_samp
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//! Maximum lenght of an host name (needed for the RPCAP active mode)
|
//! Maximum length of an host name (needed for the RPCAP active mode)
|
||||||
#define RPCAP_HOSTLIST_SIZE 1024
|
#define RPCAP_HOSTLIST_SIZE 1024
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* winclude.h -- some windows include files and *
|
* winclude.h -- some windows include files and *
|
||||||
* windows-compatabilty-related functions that are specific to Nmap. Most *
|
* windows-compatibility-related functions that are specific to Nmap. Most *
|
||||||
* of this has been moved into nbase so it can be shared. *
|
* of this has been moved into nbase so it can be shared. *
|
||||||
* *
|
* *
|
||||||
***********************IMPORTANT NMAP LICENSE TERMS************************
|
***********************IMPORTANT NMAP LICENSE TERMS************************
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* winfix.cc -- A few trivial windows-compatabilty-related functions that *
|
* winfix.cc -- A few trivial windows-compatibility-related functions that *
|
||||||
* are specific to Nmap. Most of this has been moved into nbase so it can *
|
* are specific to Nmap. Most of this has been moved into nbase so it can *
|
||||||
* be shared. *
|
* be shared. *
|
||||||
* *
|
* *
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
# LLC. It is distributed under the Nmap Open Source license as
|
# LLC. It is distributed under the Nmap Open Source license as
|
||||||
# provided in the COPYING file of the source distribution or at
|
# provided in the COPYING file of the source distribution or at
|
||||||
# http://nmap.org/data/COPYING . Note that this license
|
# http://nmap.org/data/COPYING . Note that this license
|
||||||
# requires you to license your own work under a compatable open source
|
# requires you to license your own work under a compatible open source
|
||||||
# license. If you wish to embed Nmap technology into proprietary
|
# license. If you wish to embed Nmap technology into proprietary
|
||||||
# software, we sell alternative licenses (contact sales@insecure.com).
|
# software, we sell alternative licenses (contact sales@insecure.com).
|
||||||
# Dozens of software vendors already license Nmap technology such as
|
# Dozens of software vendors already license Nmap technology such as
|
||||||
@@ -56121,7 +56121,7 @@ IE(DFI=S%T=7B-85%TG=80%CD=Z)
|
|||||||
# Windows 5.1 (Build 2600.xpsp_sp3_gdr.090804-1435 : Service Pack 3)
|
# Windows 5.1 (Build 2600.xpsp_sp3_gdr.090804-1435 : Service Pack 3)
|
||||||
# AT&T Uverse home DVR
|
# AT&T Uverse home DVR
|
||||||
# AT&T U-Verse Motorola set top boxes
|
# AT&T U-Verse Motorola set top boxes
|
||||||
# Media Reciever 300, Vendor: T-Home (Germany), CE 5.0
|
# Media Receiver 300, Vendor: T-Home (Germany), CE 5.0
|
||||||
# XP64 with all available Windows updates
|
# XP64 with all available Windows updates
|
||||||
Fingerprint AT&T U-Verse set-top box (Windows CE 5.0)
|
Fingerprint AT&T U-Verse set-top box (Windows CE 5.0)
|
||||||
Class Microsoft | Windows | PocketPC/CE | media device
|
Class Microsoft | Windows | PocketPC/CE | media device
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
# LLC. It is distributed under the Nmap Open Source license as
|
# LLC. It is distributed under the Nmap Open Source license as
|
||||||
# provided in the COPYING file of the source distribution or at
|
# provided in the COPYING file of the source distribution or at
|
||||||
# http://nmap.org/data/COPYING . Note that this license
|
# http://nmap.org/data/COPYING . Note that this license
|
||||||
# requires you to license your own work under a compatable open source
|
# requires you to license your own work under a compatible open source
|
||||||
# license. If you wish to embed Nmap technology into proprietary
|
# license. If you wish to embed Nmap technology into proprietary
|
||||||
# software, we sell alternative licenses (contact sales@insecure.com).
|
# software, we sell alternative licenses (contact sales@insecure.com).
|
||||||
# Dozens of software vendors already license Nmap technology such as
|
# Dozens of software vendors already license Nmap technology such as
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
# LLC. It is distributed under the Nmap Open Source license as
|
# LLC. It is distributed under the Nmap Open Source license as
|
||||||
# provided in the COPYING file of the source distribution or at
|
# provided in the COPYING file of the source distribution or at
|
||||||
# http://nmap.org/data/COPYING . Note that this license
|
# http://nmap.org/data/COPYING . Note that this license
|
||||||
# requires you to license your own work under a compatable open source
|
# requires you to license your own work under a compatible open source
|
||||||
# license. If you wish to embed Nmap technology into proprietary
|
# license. If you wish to embed Nmap technology into proprietary
|
||||||
# software, we sell alternative licenses (contact sales@insecure.com).
|
# software, we sell alternative licenses (contact sales@insecure.com).
|
||||||
# Dozens of software vendors already license Nmap technology such as
|
# Dozens of software vendors already license Nmap technology such as
|
||||||
@@ -2544,7 +2544,7 @@ match smtp m|^220 CheckPoint FireWall-1 secure SMTP server\r\n$| p/Checkpoint Fi
|
|||||||
match smtp m|^220 ([-.+\w]+) running IBM AS/400 SMTP V([\w]+)| p|IBM AS/400 smtpd| v/$2/ h/$1/
|
match smtp m|^220 ([-.+\w]+) running IBM AS/400 SMTP V([\w]+)| p|IBM AS/400 smtpd| v/$2/ h/$1/
|
||||||
match smtp m|^220 ([-.+\w]+) ESMTP MailEnable Service, Version: (\d[\w.]+)- ready at | p/MailEnable smptd/ v/$2/ o/Windows/ h/$1/ cpe:/o:microsoft:windows/a
|
match smtp m|^220 ([-.+\w]+) ESMTP MailEnable Service, Version: (\d[\w.]+)- ready at | p/MailEnable smptd/ v/$2/ o/Windows/ h/$1/ cpe:/o:microsoft:windows/a
|
||||||
match smtp m|^220 ([-.+\w]+) ESMTP Mail Enable SMTP Service, Version: (\d[\w.]+)-- ready at| p/MailEnable smptd/ v/$2/ o/Windows/ h/$1/ cpe:/o:microsoft:windows/a
|
match smtp m|^220 ([-.+\w]+) ESMTP Mail Enable SMTP Service, Version: (\d[\w.]+)-- ready at| p/MailEnable smptd/ v/$2/ o/Windows/ h/$1/ cpe:/o:microsoft:windows/a
|
||||||
# Enterprise version number seems to be preceeded by "0--"; Professional with "0-"
|
# Enterprise version number seems to be preceded by "0--"; Professional with "0-"
|
||||||
match smtp m|^220 ([-.+\w]+) ESMTP MailEnable Service, Version: \d+--([\d.]+) ready at| p/MailEnable Enterprise smptd/ v/$2/ o/Windows/ h/$1/ cpe:/o:microsoft:windows/a
|
match smtp m|^220 ([-.+\w]+) ESMTP MailEnable Service, Version: \d+--([\d.]+) ready at| p/MailEnable Enterprise smptd/ v/$2/ o/Windows/ h/$1/ cpe:/o:microsoft:windows/a
|
||||||
# Catch-alls. Hyphens aren't making sense -Doug
|
# Catch-alls. Hyphens aren't making sense -Doug
|
||||||
match smtp m|^220 ([-.+\w]+) ESMTP MailEnable Service, Version: ([\w._-]+) ready at| p/MailEnable smptd/ v/$2/ o/Windows/ h/$1/ cpe:/o:microsoft:windows/a
|
match smtp m|^220 ([-.+\w]+) ESMTP MailEnable Service, Version: ([\w._-]+) ready at| p/MailEnable smptd/ v/$2/ o/Windows/ h/$1/ cpe:/o:microsoft:windows/a
|
||||||
@@ -4540,7 +4540,7 @@ match http m|^HTTP/1\.0 400 msg=Bad%20Request&rc=%00%00%03%1b\r\n| p/TimesTen ht
|
|||||||
match http m|^HTTP/1\.1 400 Bad request\r\nContent-Type: text/html; charset=ISO-8859-1\r\n\r\n<body><h1>HTTP/1\.1 400 Bad request <h1></body>| p/XOSoft WanSync http config/ o/Windows/ cpe:/o:microsoft:windows/a
|
match http m|^HTTP/1\.1 400 Bad request\r\nContent-Type: text/html; charset=ISO-8859-1\r\n\r\n<body><h1>HTTP/1\.1 400 Bad request <h1></body>| p/XOSoft WanSync http config/ o/Windows/ cpe:/o:microsoft:windows/a
|
||||||
match http m|^HTTP/\*\.\* 400 Bad Request\r\nDate: .*\r\nContent-Type:text/plain\r\nContent-Length:61\r\n\r\nThe received request is either NULL or invalid/wrong format\r\n| p/Kaba application server httpd/
|
match http m|^HTTP/\*\.\* 400 Bad Request\r\nDate: .*\r\nContent-Type:text/plain\r\nContent-Length:61\r\n\r\nThe received request is either NULL or invalid/wrong format\r\n| p/Kaba application server httpd/
|
||||||
|
|
||||||
# This lame service responds in many wierd ways - luckily always to GenericLines
|
# This lame service responds in many weird ways - luckily always to GenericLines
|
||||||
match http m|^HTTP/1\.1 403 Forbidden\r\nContent-Type: text/xml\r\n\r\n<\?xml version='1\.0' encoding='UTF-8' \?><autnresponse><action>NONE</action><response>The action you attempted is forbidden by your client</response></autnresponse>| p/Veritas backup exec continuous protection httpd/
|
match http m|^HTTP/1\.1 403 Forbidden\r\nContent-Type: text/xml\r\n\r\n<\?xml version='1\.0' encoding='UTF-8' \?><autnresponse><action>NONE</action><response>The action you attempted is forbidden by your client</response></autnresponse>| p/Veritas backup exec continuous protection httpd/
|
||||||
match http m|^HTTP/1\.1 403 Forbidden\nContent-Type: text/xml\n\n<ACTION>GETSTATUS</ACTION><RESPONSE>The action you attempted is forbidden by your client</RESPONSE>| p/Veritas backup exec continuous protection httpd/
|
match http m|^HTTP/1\.1 403 Forbidden\nContent-Type: text/xml\n\n<ACTION>GETSTATUS</ACTION><RESPONSE>The action you attempted is forbidden by your client</RESPONSE>| p/Veritas backup exec continuous protection httpd/
|
||||||
match http m|^HTTP/1\.0 200 OK\r\nContent-type: text/html\r\n\r\n\n\nCONNECTION NOT AUTHORIZED\n\n\n| p/Veritas backup exec continuous protection httpd/ i/unauthorized/
|
match http m|^HTTP/1\.0 200 OK\r\nContent-type: text/html\r\n\r\n\n\nCONNECTION NOT AUTHORIZED\n\n\n| p/Veritas backup exec continuous protection httpd/ i/unauthorized/
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
# LLC. It is distributed under the Nmap Open Source license as
|
# LLC. It is distributed under the Nmap Open Source license as
|
||||||
# provided in the COPYING file of the source distribution or at
|
# provided in the COPYING file of the source distribution or at
|
||||||
# http://nmap.org/data/COPYING . Note that this license
|
# http://nmap.org/data/COPYING . Note that this license
|
||||||
# requires you to license your own work under a compatable open source
|
# requires you to license your own work under a compatible open source
|
||||||
# license. If you wish to embed Nmap technology into proprietary
|
# license. If you wish to embed Nmap technology into proprietary
|
||||||
# software, we sell alternative licenses (contact sales@insecure.com).
|
# software, we sell alternative licenses (contact sales@insecure.com).
|
||||||
# Dozens of software vendors already license Nmap technology such as
|
# Dozens of software vendors already license Nmap technology such as
|
||||||
|
|||||||
2
nmap.cc
2
nmap.cc
@@ -878,7 +878,7 @@ void parse_options(int argc, char **argv) {
|
|||||||
o.idlescan = 1;
|
o.idlescan = 1;
|
||||||
o.idleProxy = strdup(optarg);
|
o.idleProxy = strdup(optarg);
|
||||||
} else if (strcmp(long_options[option_index].name, "vv") == 0) {
|
} else if (strcmp(long_options[option_index].name, "vv") == 0) {
|
||||||
/* Compatability hack ... ugly */
|
/* Compatibility hack ... ugly */
|
||||||
o.verbose += 2;
|
o.verbose += 2;
|
||||||
} else if (strcmp(long_options[option_index].name, "ff") == 0) {
|
} else if (strcmp(long_options[option_index].name, "ff") == 0) {
|
||||||
o.fragscan += 16;
|
o.fragscan += 16;
|
||||||
|
|||||||
@@ -602,7 +602,7 @@ This documents presents the technical specification of the Nping Echo Protocol.
|
|||||||
|
|
||||||
PacketSpec: 864 bits.
|
PacketSpec: 864 bits.
|
||||||
Tells the server which header fields should be checked to match
|
Tells the server which header fields should be checked to match
|
||||||
a captured packet with the client that sent it. This is neccessary
|
a captured packet with the client that sent it. This is necessary
|
||||||
as the server supports multiple user sessions at a time, and needs
|
as the server supports multiple user sessions at a time, and needs
|
||||||
a way to distinguish the packets.
|
a way to distinguish the packets.
|
||||||
|
|
||||||
@@ -1123,7 +1123,7 @@ This documents presents the technical specification of the Nping Echo Protocol.
|
|||||||
For each party producing encrypted data, the first initialization
|
For each party producing encrypted data, the first initialization
|
||||||
vector should be the nonce that this same party generated during the
|
vector should be the nonce that this same party generated during the
|
||||||
authentication handshake phase. If the nonce has more bits than needed,
|
authentication handshake phase. If the nonce has more bits than needed,
|
||||||
only the neccessary number of bits should be used. These bits should be
|
only the necessary number of bits should be used. These bits should be
|
||||||
the most significant ones.
|
the most significant ones.
|
||||||
|
|
||||||
The initialization vector for subsequent encryption operations should
|
The initialization vector for subsequent encryption operations should
|
||||||
|
|||||||
@@ -682,7 +682,7 @@ packets they send look like when they reach their destination.
|
|||||||
Unless Nping is compiled without OpenSSL support, all Nping Echo
|
Unless Nping is compiled without OpenSSL support, all Nping Echo
|
||||||
Protocol (NEP) packets are transmitted encrypted. Rijndael/AES standard
|
Protocol (NEP) packets are transmitted encrypted. Rijndael/AES standard
|
||||||
is used. It has a block size of 128 bits, that's why all NEP packets
|
is used. It has a block size of 128 bits, that's why all NEP packets
|
||||||
must have a lenght that is multiple of 16 bytes.
|
must have a length that is multiple of 16 bytes.
|
||||||
|
|
||||||
Every NEP packet includes a SHA-256 checksum. SHA-256 has been chosen
|
Every NEP packet includes a SHA-256 checksum. SHA-256 has been chosen
|
||||||
over MD5 or SHA1, just to be safe in the future. MD5 is already broken
|
over MD5 or SHA1, just to be safe in the future. MD5 is already broken
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ IP OPTIONS:
|
|||||||
{target specification} ).
|
{target specification} ).
|
||||||
--tos <val> : Set type of service field (8bits).
|
--tos <val> : Set type of service field (8bits).
|
||||||
--id <val> : Set identification field (16 bits).
|
--id <val> : Set identification field (16 bits).
|
||||||
--df : Set Dont Fragment flag.
|
--df : Set Don't Fragment flag.
|
||||||
--mf : Set More Fragments flag.
|
--mf : Set More Fragments flag.
|
||||||
--ttl <val> : Set time to live [0-256].
|
--ttl <val> : Set time to live [0-256].
|
||||||
--badsum-ip : Use a random invalid checksum.
|
--badsum-ip : Use a random invalid checksum.
|
||||||
|
|||||||
@@ -3920,7 +3920,7 @@ def write_results_file():
|
|||||||
output_file.write(line)
|
output_file.write(line)
|
||||||
output_file.write("\r\n")
|
output_file.write("\r\n")
|
||||||
|
|
||||||
# Write OS details request if we dont have OS info
|
# Write OS details request if we don't have OS info
|
||||||
if target_os_details_g==None:
|
if target_os_details_g==None:
|
||||||
req=get_results_file_osrequest()
|
req=get_results_file_osrequest()
|
||||||
for line in req :
|
for line in req :
|
||||||
|
|||||||
@@ -626,7 +626,7 @@ sudo nping --icmp $TARGETS $GLOBALOPTS --icmp-type echo --icmp-code boguscode
|
|||||||
t ICMP_51 "Run ICMP mode supplying a number code, NON-RFC compliant." \
|
t ICMP_51 "Run ICMP mode supplying a number code, NON-RFC compliant." \
|
||||||
sudo nping --icmp $TARGETS $GLOBALOPTS --icmp-type echo --icmp-code 99
|
sudo nping --icmp $TARGETS $GLOBALOPTS --icmp-type echo --icmp-code 99
|
||||||
|
|
||||||
t ICMP_52 "Set ICMP Identifier. (Dont get confused with output for the IP id value)" \
|
t ICMP_52 "Set ICMP Identifier. (Don't get confused with output for the IP id value)" \
|
||||||
sudo nping --icmp $TARGETS $GLOBALOPTS --icmp-type echo --icmp-code 9 --icmp-id 2
|
sudo nping --icmp $TARGETS $GLOBALOPTS --icmp-type echo --icmp-code 9 --icmp-id 2
|
||||||
|
|
||||||
t ICMP_53 "Set bogus Identifier. Expected: error message" \
|
t ICMP_53 "Set bogus Identifier. Expected: error message" \
|
||||||
|
|||||||
@@ -729,7 +729,7 @@ Engine =
|
|||||||
self.threads[co].running = true
|
self.threads[co].running = true
|
||||||
end
|
end
|
||||||
|
|
||||||
-- wait for all threads to finnish running
|
-- wait for all threads to finish running
|
||||||
while self:threadCount()>0 do condvar "wait" end
|
while self:threadCount()>0 do condvar "wait" end
|
||||||
|
|
||||||
local valid_accounts
|
local valid_accounts
|
||||||
|
|||||||
@@ -537,7 +537,7 @@ MessageDecoders = {
|
|||||||
status, data = socket:receive_buf(match.numbytes(26), true)
|
status, data = socket:receive_buf(match.numbytes(26), true)
|
||||||
if( not(status) ) then return false, "Failed to read column data" end
|
if( not(status) ) then return false, "Failed to read column data" end
|
||||||
|
|
||||||
-- signal finnish reading
|
-- signal finish reading
|
||||||
status, data = socket:send( tostring(Packet.SQ_ID:new( info.id, nil, "end" ) ) )
|
status, data = socket:send( tostring(Packet.SQ_ID:new( info.id, nil, "end" ) ) )
|
||||||
status, data = socket:receive_buf(match.numbytes(2), true)
|
status, data = socket:receive_buf(match.numbytes(2), true)
|
||||||
|
|
||||||
|
|||||||
@@ -208,7 +208,7 @@ end
|
|||||||
--
|
--
|
||||||
-- This function has a concept of softerrors which populates the return tables error information
|
-- This function has a concept of softerrors which populates the return tables error information
|
||||||
-- while returning a true status. The reason for this is that LDAP may return a number of records
|
-- while returning a true status. The reason for this is that LDAP may return a number of records
|
||||||
-- and then finnish of with an error like SIZE LIMIT EXCEEDED. We still want to return the records
|
-- and then finish off with an error like SIZE LIMIT EXCEEDED. We still want to return the records
|
||||||
-- that were received prior to the error. In order to achieve this and not terminating the script
|
-- that were received prior to the error. In order to achieve this and not terminating the script
|
||||||
-- by returning a false status a true status is returned together with a table containing all searchentries.
|
-- by returning a false status a true status is returned together with a table containing all searchentries.
|
||||||
-- This table has the <code>errorMessage</code> and <code>resultCode</code> entries set with the error information.
|
-- This table has the <code>errorMessage</code> and <code>resultCode</code> entries set with the error information.
|
||||||
|
|||||||
@@ -1086,7 +1086,7 @@ end
|
|||||||
-- http://msdn.microsoft.com/en-us/library/cc244831%28v=prot.10%29
|
-- http://msdn.microsoft.com/en-us/library/cc244831%28v=prot.10%29
|
||||||
--@param smbstate The SMB state table
|
--@param smbstate The SMB state table
|
||||||
--@param printer_handle Printer handle returned by spoolss_open_printer()
|
--@param printer_handle Printer handle returned by spoolss_open_printer()
|
||||||
--@param data Actuall data to write to a file
|
--@param data Actual data to write to a file
|
||||||
--@return (status, result) If status is false, result is an error message. Otherwise, result is number of bytes written.
|
--@return (status, result) If status is false, result is an error message. Otherwise, result is number of bytes written.
|
||||||
function spoolss_write_printer(smbstate,printer_handle,data)
|
function spoolss_write_printer(smbstate,printer_handle,data)
|
||||||
stdnse.print_debug("len %d", #data)
|
stdnse.print_debug("len %d", #data)
|
||||||
@@ -1928,7 +1928,7 @@ end
|
|||||||
--
|
--
|
||||||
--@param smbstate The SMB state table
|
--@param smbstate The SMB state table
|
||||||
--@param alias_handle The alias_handle, already marshaled
|
--@param alias_handle The alias_handle, already marshaled
|
||||||
--@param args Actuall data to send, already marshaled
|
--@param args Actual data to send, already marshaled
|
||||||
--@return (status, result) If status is false, result is an error message. Otherwise, result is a table of values.
|
--@return (status, result) If status is false, result is an error message. Otherwise, result is a table of values.
|
||||||
function samr_getaliasmembership(smbstate, alias_handle,args)
|
function samr_getaliasmembership(smbstate, alias_handle,args)
|
||||||
local status, result
|
local status, result
|
||||||
|
|||||||
@@ -304,7 +304,7 @@ end
|
|||||||
|
|
||||||
local function waitLast()
|
local function waitLast()
|
||||||
-- The thread that started the server needs to wait here until the rest
|
-- The thread that started the server needs to wait here until the rest
|
||||||
-- of the scripts finnish running. We know we are done once the state
|
-- of the scripts finish running. We know we are done once the state
|
||||||
-- shifts to STOPPED and we get a signal from the condvar in the
|
-- shifts to STOPPED and we get a signal from the condvar in the
|
||||||
-- dispatcher
|
-- dispatcher
|
||||||
local s_condvar = nmap.condvar(state)
|
local s_condvar = nmap.condvar(state)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* scan_engine.h -- Includes much of the "engine" functions for scanning, *
|
* scan_engine.h -- Includes much of the "engine" functions for scanning, *
|
||||||
* such as ultra_scan. It also includes dependant functions such as *
|
* such as ultra_scan. It also includes dependent functions such as *
|
||||||
* those for collecting SYN/connect scan responses. *
|
* those for collecting SYN/connect scan responses. *
|
||||||
* *
|
* *
|
||||||
***********************IMPORTANT NMAP LICENSE TERMS************************
|
***********************IMPORTANT NMAP LICENSE TERMS************************
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ Performs password guessing against Apple Filing Protocol (AFP).
|
|||||||
-- Snow Leopard
|
-- Snow Leopard
|
||||||
-- ------------
|
-- ------------
|
||||||
-- - Delay 10 seconds for accounts with more than 5 incorrect login attempts (good)
|
-- - Delay 10 seconds for accounts with more than 5 incorrect login attempts (good)
|
||||||
-- - Instant response if password is successfull
|
-- - Instant response if password is successful
|
||||||
--
|
--
|
||||||
-- Netatalk
|
-- Netatalk
|
||||||
-- --------
|
-- --------
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ Attempts to discover valid IBM Lotus Domino users and download their ID files by
|
|||||||
-- 1352/tcp open lotusnotes
|
-- 1352/tcp open lotusnotes
|
||||||
-- | domino-enum-users:
|
-- | domino-enum-users:
|
||||||
-- | User "Patrik Karlsson" found, but not ID file could be downloaded
|
-- | User "Patrik Karlsson" found, but not ID file could be downloaded
|
||||||
-- | Succesfully stored "FFlintstone" in /tmp/FFlintstone.id
|
-- | Successfully stored "FFlintstone" in /tmp/FFlintstone.id
|
||||||
-- |_ Succesfully stored "MJacksson" in /tmp/MJacksson.id
|
-- |_ Successfully stored "MJacksson" in /tmp/MJacksson.id
|
||||||
--
|
--
|
||||||
--
|
--
|
||||||
-- @args domino-id.path the location to which any retrieved ID files are stored
|
-- @args domino-id.path the location to which any retrieved ID files are stored
|
||||||
@@ -107,13 +107,13 @@ action = function(host, port)
|
|||||||
local status, err = saveIDFile( filename, data )
|
local status, err = saveIDFile( filename, data )
|
||||||
|
|
||||||
if ( status ) then
|
if ( status ) then
|
||||||
table.insert(result, ("Succesfully stored \"%s\" in %s"):format(username, filename) )
|
table.insert(result, ("Successfully stored \"%s\" in %s"):format(username, filename) )
|
||||||
else
|
else
|
||||||
stdnse.print_debug( err )
|
stdnse.print_debug( err )
|
||||||
table.insert(result, ("Failed to store \"%s\" to %s"):format(username, filename) )
|
table.insert(result, ("Failed to store \"%s\" to %s"):format(username, filename) )
|
||||||
end
|
end
|
||||||
elseif( status and data ) then
|
elseif( status and data ) then
|
||||||
table.insert(result, ("Succesfully retrieved ID for \"%s\" (to store set the domino-enum-users.path argument)"):format(username) )
|
table.insert(result, ("Successfully retrieved ID for \"%s\" (to store set the domino-enum-users.path argument)"):format(username) )
|
||||||
elseif ( status ) then
|
elseif ( status ) then
|
||||||
table.insert(result, ("User \"%s\" found, but no ID file could be downloaded"):format(username) )
|
table.insert(result, ("User \"%s\" found, but no ID file could be downloaded"):format(username) )
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ action = function( host, port )
|
|||||||
threads[co] = true
|
threads[co] = true
|
||||||
end
|
end
|
||||||
|
|
||||||
-- wait for all threads to finnish running
|
-- wait for all threads to finish running
|
||||||
while threadCount(threads)>0 do
|
while threadCount(threads)>0 do
|
||||||
condvar("wait")
|
condvar("wait")
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ end
|
|||||||
-- @return true on valid access, false on failure
|
-- @return true on valid access, false on failure
|
||||||
local function isValidCredential( host, port, path, user, pass )
|
local function isValidCredential( host, port, path, user, pass )
|
||||||
-- we need to supply the no_cache directive, or else the http library
|
-- we need to supply the no_cache directive, or else the http library
|
||||||
-- incorrectly tells us that the authentication was successfull
|
-- incorrectly tells us that the authentication was successful
|
||||||
local result = http.get( host, port, path, { auth = { username = user, password = pass }, no_cache = true })
|
local result = http.get( host, port, path, { auth = { username = user, password = pass }, no_cache = true })
|
||||||
|
|
||||||
if ( result.status == 401 ) then
|
if ( result.status == 401 ) then
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ payload in the comment.
|
|||||||
-- 80/tcp open http syn-ack
|
-- 80/tcp open http syn-ack
|
||||||
-- | Testing page /post.html
|
-- | Testing page /post.html
|
||||||
-- |
|
-- |
|
||||||
-- | Succesfully uploaded and executed payloads:
|
-- | Successfully uploaded and executed payloads:
|
||||||
-- | Filename: 1.php, MIME: text/plain
|
-- | Filename: 1.php, MIME: text/plain
|
||||||
-- |_ Filename: 1.php3, MIME: text/plain
|
-- |_ Filename: 1.php3, MIME: text/plain
|
||||||
---
|
---
|
||||||
@@ -152,7 +152,7 @@ end
|
|||||||
local makeAndCheckRequests = function(uploadspaths)
|
local makeAndCheckRequests = function(uploadspaths)
|
||||||
|
|
||||||
local exit = 0
|
local exit = 0
|
||||||
local output = {"Succesfully uploaded and executed payloads: "}
|
local output = {"Successfully uploaded and executed payloads: "}
|
||||||
|
|
||||||
for i=1, #listofrequests, 1 do
|
for i=1, #listofrequests, 1 do
|
||||||
listofrequests[i]:make()
|
listofrequests[i]:make()
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ Driver = {
|
|||||||
|
|
||||||
login = function( self, username, password )
|
login = function( self, username, password )
|
||||||
-- we need to supply the no_cache directive, or else the http library
|
-- we need to supply the no_cache directive, or else the http library
|
||||||
-- incorrectly tells us that the authentication was successfull
|
-- incorrectly tells us that the authentication was successful
|
||||||
local postparams = { [self.options.passvar] = password }
|
local postparams = { [self.options.passvar] = password }
|
||||||
if ( self.options.uservar ) then postparams[self.options.uservar] = username end
|
if ( self.options.uservar ) then postparams[self.options.uservar] = username end
|
||||||
|
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ end
|
|||||||
-- Seconde: Request to wikipedia.org and checks for wikimedia pattern
|
-- Seconde: Request to wikipedia.org and checks for wikimedia pattern
|
||||||
-- Third: Request to computerhistory.org and checks for museum pattern
|
-- Third: Request to computerhistory.org and checks for museum pattern
|
||||||
--
|
--
|
||||||
-- If any of the requests is succesful, the proxy is considered open
|
-- If any of the requests is successful, the proxy is considered open
|
||||||
-- If all get requests return the same result, the user is alerted that
|
-- If all get requests return the same result, the user is alerted that
|
||||||
-- the proxy might be redirecting his requests (very common on wi-fi
|
-- the proxy might be redirecting his requests (very common on wi-fi
|
||||||
-- connections at airports, cafes, etc.)
|
-- connections at airports, cafes, etc.)
|
||||||
|
|||||||
@@ -407,7 +407,7 @@ function check(status, response, track)
|
|||||||
-- NoOp
|
-- NoOp
|
||||||
elseif err == 1 then
|
elseif err == 1 then
|
||||||
fail = true
|
fail = true
|
||||||
msg = 'Incompatable Implementation Number'
|
msg = 'Incompatible Implementation Number'
|
||||||
elseif err == 2 then
|
elseif err == 2 then
|
||||||
fail = true
|
fail = true
|
||||||
msg = 'Unimplemented Request Code'
|
msg = 'Unimplemented Request Code'
|
||||||
|
|||||||
Reference in New Issue
Block a user