1
0
mirror of https://github.com/nmap/nmap.git synced 2026-01-27 08:39:02 +00:00

More elaborate reasons for OmitSubmissionFP

This commit is contained in:
fyodor
2006-09-02 21:50:35 +00:00
parent b526a04ad0
commit a111518907
5 changed files with 25 additions and 17 deletions

View File

@@ -66,13 +66,14 @@ Nmap 4.20ALPHA4
o Nmap now provides progress statistics in the XML output in verbose
mode. Here are some examples of the format (etc is "estimated time
until completion) and times are in UNIX time_t (seconds since 1970) format:
<taskbegin task="SYN Stealth Scan" time="1151384685" />
<taskprogress task="SYN Stealth Scan" time="1151384715"
percent="13.85" remaining="187" etc="1151384902" />
<taskend task="SYN Stealth Scan" time="1151384776" />
<taskbegin task="Service scan" time="1151384776" />
<taskend task="Service scan" time="1151384788" />
until completion) and times are in UNIX time_t (seconds since 1970)
format. Angle braces have been replaced by square braces:
[taskbegin task="SYN Stealth Scan" time="1151384685" /]
[taskprogress task="SYN Stealth Scan" time="1151384715"
percent="13.85" remaining="187" etc="1151384902" /]
[taskend task="SYN Stealth Scan" time="1151384776" /]
[taskbegin task="Service scan" time="1151384776" /]
[taskend task="Service scan" time="1151384788" /]
Thanks to Adam Vartanian (flooey(a)gmail.com) for the patch.
o Updated the Windows installer to give an option checkbox for

View File

@@ -140,9 +140,12 @@ const struct OS_Classification_Results *FingerPrintResults::getOSClassification(
for skipping the FP is returned as a static string. If the FP is
great and should be printed, NULL is returned. */
const char *FingerPrintResults::OmitSubmissionFP() {
static char reason[128];
if (o.scan_delay > 500) // This can screw up the sequence timing
return "Scan delay is greater than 500";
if (o.scan_delay > 500) { // This can screw up the sequence timing
snprintf(reason, sizeof(reason), "Scan delay (%d) is greater than 500", o.scan_delay);
return reason;
}
if (o.timing_level > 4)
return "Timing level 5 (Insane) used";
@@ -156,11 +159,15 @@ const char *FingerPrintResults::OmitSubmissionFP() {
// I'm not sure this is really necessary, but maybe. Large routes
// can cause asymetric routing which leads to wrong TTL information.
// They can cause variable timing too.
if (distance > 10)
return "Host more than ten network hops away";
if (distance > 10) {
snprintf(reason, sizeof(reason), "Host distance (%d network hops) is greater than ten", distance);
return reason;
}
if (maxTimingRatio > 1.4)
return "maxTimingRatio is greater than 1.4";
if (maxTimingRatio > 1.4) {
snprintf(reason, sizeof(reason), "maxTimingRatio (%f) is greater than 1.4");
return reason;
}
if (osscan_closedudpport < 0 && !o.udpscan) {
/* If we didn't get a U1 response, that might be just

View File

@@ -1,6 +1,6 @@
export NMAP_VERSION = 4.20ALPHA5
NMAP_NAME= Nmap
NMAP_URL= http://insecure.org/nmap/
NMAP_URL= http://Insecure.Org
NMAP_PLATFORM=@host@
prefix = @prefix@
exec_prefix = @exec_prefix@

View File

@@ -1370,7 +1370,7 @@ int nmap_main(int argc, char *argv[]) {
printf("--------------- Timing report ---------------\n");
printf(" hostgroups: min %d, max %d\n", o.minHostGroupSz(), o.maxHostGroupSz());
printf(" rtt-timeouts: init %d, min %d, max %d\n", o.initialRttTimeout(), o.minRttTimeout(), o.maxRttTimeout());
printf(" scan-delay: TCP %d, UDP %d\n", o.maxTCPScanDelay(), o.maxUDPScanDelay());
printf(" msx-scan-delay: TCP %d, UDP %d\n", o.maxTCPScanDelay(), o.maxUDPScanDelay());
printf(" parallelism: min %d, max %d\n", o.min_parallelism, o.max_parallelism);
printf(" max-retries: %d, host-timeout: %ld\n", o.getMaxRetransmissions(), o.host_timeout);
printf("---------------------------------------------\n");

View File

@@ -569,9 +569,9 @@ static u32 parse_inaddr_arpa(unsigned char *buf, int maxlen) {
u32 ip=0;
int i, j;
for (i=0; i<=3; i++) {
if (maxlen <= 0) return 0;
if (maxlen <= 0) return 0;
for (i=0; i<=3; i++) {
if (buf[0] < 1 || buf[0] > 3) return 0;
maxlen -= buf[0] + 1;