1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-07 13:11:28 +00:00

434 Commits

Author SHA1 Message Date
david
1b41c049fc Merge r5771:5778 from /nmap-exp/david/nmap-massping-migration.
Print group timing stats with -d2 and individual host timing stats with -d3.

Change how much the congestion threshold drops on packet drops.

Increase the initial ccthresh from 50 to 75.
2007-09-05 04:57:36 +00:00
david
9c3ca90f1b Merge r5775 from /nmap-exp/david/nmap-massping-migration.
Print group timing stats with -d2 and individual host timing stats with -d3.
2007-09-04 21:38:44 +00:00
david
0e56b11fc8 Add a timestamp to the timing stats that are printed with -d3 to facilitate making graphs. 2007-09-04 21:10:48 +00:00
fyodor
4dc8618965 capitalization changes 2007-09-03 02:55:01 +00:00
david
cde0b41cc0 Merge r5744 from /nmap-exp/david/nmap-massping-migration.
Add a handler for EACCES on initial connect.
2007-08-31 05:02:25 +00:00
david
695b1a3a2d Merge r5728:5733 from /nmap-exp/david/nmap-massping-migration.
Increase PING_GROUP_SZ to 4096.                                                 

Remove a broken test for wierd_responses (subnet broadcast addresses) and write a note that a working test is needed.
2007-08-30 06:30:29 +00:00
david
c0c4ab055f Remove the real-time "appears to be up" message. I realized I shouldn't have
made such a big UI change with no discussion. Anyway, the message should have
gone within the ((hss->target->flags & HOST_UP) == 0) block so that the message
is printed only once per target.
2007-08-30 03:36:56 +00:00
david
b005b9dea7 Make the "Moving to completed hosts list" message require o.debugging > 1. This was somehow missed in the merge. 2007-08-30 03:24:52 +00:00
david
1c9700464b Merge r5711:5724 from /nmap-exp/david/nmap-massping-migration.
Show up hosts in real time in verbose mode, like what's done with open ports.   
                                                                                
Make some debugging messages less visible.
2007-08-30 02:42:25 +00:00
kris
3b0b8af098 Changing some snprintf()s from the massping migration to Snprintf()s 2007-08-29 20:33:33 +00:00
david
a4dcf90911 Merge r5693:5712 from /nmap-exp/david/nmap-massping-migration.
Always update srtt, rttvar, and timeout for every response, even if we don't adjust congestion control or send delay variables.

Be more careful about checking gstats->sendOK when sending retransmits.
Previously, it was only checked once per traversal of the incomplete
hosts list, which meant that enough probes could be sent in a round to
exceed the congestion window. Explanatory pictures are at
http://www.bamsoftware.com/wiki/Nmap/PerformanceGraphs#retransmit-sendOK.

This needs some more testing to see what effect it has on scan times. My
instinct says it will slow them down, because retransmits will be sent
no faster than before, and retransmits will be more likely to be
responded to, leading to more drops. On the other hand, correctly
detecting a drop and marking a host up is better than blasting
retransmits faster than they can be responded to.
2007-08-29 05:54:29 +00:00
kris
a2cbf0cef4 Fixing a syntax problem (from the massping migration). 'and' was used instead of '&&' in scan_engine.cc, and failed on Windows. 2007-08-28 21:37:52 +00:00
david
433917fc46 Tidy up the message that we're moving a host to the completed list a bit. This is good for release now. 2007-08-28 00:28:24 +00:00
david
bf7f48ebf7 Remove debugging from the default DBGFLAGS and remove some debugging messages. 2007-08-28 00:16:38 +00:00
david
302547375b Look out, world, here comes the Nmap massping migration!
This is the merging of the code that was previously in
/nmap-exp/david/nmap-massping-migration. These are all the big changes
that get rid of massping in favor of doing host discovery using
ultra_scan.

For now, there is a toggle that turns these new changes off. Undefine
NEW_MASSPING in targets.cc to go back to the old code. All of that will
be deleted eventually.

There are likely a few more changes that will be made to this system in
the near future. Those will be made in
/nmap-exp/david/nmap-massping-migration and merged back.

Don't release this just yet, because I'm going to make a few more
commits real quick to remove some debugging stuff.

(Note to self: this merge back was from r5693 in
/nmap-exp/david/nmap-massping-migration.)
2007-08-27 23:58:23 +00:00
kris
d073a19105 Change reason.cc/h to portreasons.cc/h. This is because of a reason.h on Windows which causes compilation problems. A workaround was employed, but this is incase it pops up again. I also changed the recent CHANGELOG entry mentioning reason.h so there's no confusion 2007-08-15 19:26:26 +00:00
kris
0b50c16b38 Adding Snprintf() and Vsnprintf() to nbase/nbase_str.c. This is because of Windows' stupid implementation where it doesn't write a NULL byte at the end of the buffer if the result is truncated. I would've just #defined snprintf and vsnprintf to some wrapper function for Windows, but this doesn't work as libdnet and libpcap (and libpcap includes under mswin32) define snprintf to _snprintf and vsnprintf to _vsnprintf like we do, and through the many defines they end up being available in the Nmap sources. Vsnprintf() uses vsnprintf() (and writes a NULL byte at the end if truncated), and Snprintf uses Vsnprintf(). 2007-08-14 06:46:54 +00:00
fyodor
a788bd1a46 merge soc07 r5322:5360 - fix a problem with RPCGrind time estimates -- the lines sometimes included junk chars on Windows because Windows snprintf doesn't always nul-terminate the strings 2007-08-11 06:12:14 +00:00
fyodor
03b4dc0ec5 merge soc07 r5233 - Changed perror()s with hardcoded function names to Nmap's gh_perror() and __func__, changed perror()s followed by exit()s to Nmap's pfatal(), and removed newlines from perror()s because it breaks the line after that and before the colon and error string, which doesn't make sense 2007-08-11 05:57:54 +00:00
fyodor
6c06f51bd7 merge soc07 r5100 - Changing fprintf(stderr, )'s to error()'s (or fatal() if followed by and exit()). Besides providing consistency, this also allows more errors to actually be logged with --log-errors. 2007-08-11 05:16:56 +00:00
fyodor
8dc9673928 merge soc07 r5085 - Changing bare printf()s to log_write(LOG_PLAIN,)s because these were always printed even when things like XML and greppable output were sent to stdout (e.g. -oX -). This also adds o.scriptTrace() to make --script-trace behave more like --packet-trace and --version-trace. Nsock tracing was done unconditionally in NSE, and that has been changed to only be done when o.scriptTrace() is true. 2007-08-11 05:13:16 +00:00
fyodor
0c123a1056 merge soc07 r4918 - changing a couple more hardcoded function names 2007-08-11 04:21:22 +00:00
fyodor
f2e0ddb40a merge soc07 r4916 - If we get a ICMP Protocol Unreachable from a host other than our target, we set the state to 'filtered' rather than 'closed'. Now it works like Port Unreachables and UDP. 2007-08-11 04:20:48 +00:00
fyodor
8d74bbcd8a merge soc07 r4871:4884 and r4888 - renaming __FUNCTION__ to __func__ and changing hardcoded func names to __func__ 2007-08-11 04:06:09 +00:00
fyodor
47dd05d4d9 merge soc07 r4866 - Fix reason reporting again. I accidentally broke it in r4862 while fixing a memory allocation error. Now the memory error is fixed and reasons work again. 2007-08-11 04:01:05 +00:00
fyodor
87840c36de merge soc07 r4862 - Rearrange some reason-setting code to avoid using deallocated memory. 2007-08-11 03:59:45 +00:00
fyodor
58522c59f6 merge soc07 r4822 - Reduce the number of build dependencies. 2007-08-11 03:35:46 +00:00
fyodor
58f46706e5 merge soc07 r4751 - UDP traceroute hop distance and port state reason feature 2007-08-11 03:15:24 +00:00
kris
aff1d727ef Merging in r4769:4773 from /nmap-exp/soc07/nmap 2007-05-23 22:51:25 +00:00
kris
c0bb3fa376 Just removing a few empty private access specifiers ('private:' is there, but it's not specifying anything) 2007-02-04 01:07:36 +00:00
kris
395b4d2150 Staying on the safe side when matching TCP flags on one part in scan_engine.cc. Instead of testing th_flags == TH_SYN|TH_ACK, it tests if (th_flags & TH_SYN|TH_ACK) == TH_SYN|TH_ACK. It's looks like it's done 'correctly' everywhere else. I can't really think of a real situation where we'd recieve any extra flags when doing a SYN scan, but we could (and it's better than having a false negative anyway). 2007-02-03 04:15:18 +00:00
kris
7d778b51c9 Just fixing a couple typos in comments in scan_engine.cc 2007-02-03 03:57:35 +00:00
kris
5036877865 Remove some duplication in get_pcap_result() in scan_engine.cc. probe->protocol() is all ready checked against ip2->ip_p earlier (the two I'm removing indirectly check against ip2->ip_p: look at the removed part and what ip2->ip_p is tested against in the surrounding if()s). Then a little lower in the function, that whole if() block can be removed because it's the same as what's done in that switch() block. The same error() and hdump() are used in the default case. I could've kept the if(), but this keeps is simple. 2007-02-02 02:33:20 +00:00
kris
76c8efc086 Removing the IPIP header sending with -sO from r4403. This turned out to be less useful than I originally found it to be. 2007-01-29 18:02:28 +00:00
kris
c2427f32d3 Fixed IPProto Scan on localhost when using --data-length to add at least 8 bytes of data. There is a check to see if the packet is at least 28 bytes long (IP header and 8 bytes of data), and if it's at least that big it's considered good. So if the protocol matches, it's considered open. The problem was we didn't check for our own probes, so if we scan localhost with --data-length >=8, everything was labeled open. 2007-01-28 02:25:27 +00:00
kris
6d4ef2aa7e Fix the IPProto scan for UDP. Now we check for ICMP Port Unreachable and call it open if we get one. This was coming up open|filtered, and sometimes filtered before. 2007-01-27 20:09:14 +00:00
kris
1e3760a397 Start sending a valid encapsulated header with IP-in-IP with -sO. Hosts respond more when a valid header is sent. I kept getting open|filtered for this, and now I get open. It's a lot like my IGMP patch from r4361 2007-01-27 04:36:24 +00:00
kris
69754e8311 Use dnet headers for TCP and UDP. This allows us to remove netinet tcp.h and udp.h references, the udphdr_bsd stuff, and the TH_ECE/TH_CWR #defines in tcpip.h. That was easy, but we (Fyodor and I) came to the conclusion that IP and ICMP aren't worth the hassle to switch (I was testing TCP, UDP and IP in my branch). The struct icmp_hdr in dnet isn't setup anything like what we're using now. Then, struct ip_hdr uses ip_addr_t (typedef'd to uint32_t in that ip.h) instead of struct in_addr for the IP addresses, and that would require some dnet modifying to work right. We might be able to come up with some elegant solution for IP, but probably not for ICMP. For now, they're still left up to netinet (or tcpip.h). 2007-01-23 05:29:59 +00:00
kris
24e30769e8 Merging my UDP localhost patch. It fixes the UDP scan on localhost picking up it's own port. It also fixes the TCP one so that it doesn't print a message (with -d) about receiving a response with unexpected flags (like getting a SYN for a SYN scan because it's our port). The problem was that the IP ID wasn't ntohs()'d while checking for this, so we still saw our port on UDP. I simply copied this to the TCP part to avoid the message. 2007-01-20 22:15:49 +00:00
kris
9ff574d50e Merging my IGMP -sO patch. This adds build_igmp_raw() to easily build IGMP packets and uses it for -sO. Systems respond more when these packets are sent with an actual IGMP header. The RFC says they MUST verify the checksum, so that's most likely why I always got open|filtered instead of open. Since the different IGMP types all seem to have the checksum in the same place in the packet, it should at least tell us if it's supported or not even if the rest of the header is bogus (because the rest of the header has changed a little bit between the versions). 2007-01-17 17:40:16 +00:00
fyodor
47036bc063 clean patches by Kris: remove c++ comments in nmapfe and nsock, and remove superscan prototype from scan_engine.h 2007-01-01 00:23:29 +00:00
fyodor
508e674ce4 fix Mac OS X pcap problem, I hope 2006-11-19 09:35:26 +00:00
fyodor
9cbae88f44 Add -ip-options support 2006-08-29 03:26:00 +00:00
fyodor
b28d51167c Minor source code header improvements 2006-08-25 01:47:49 +00:00
fyodor
a403864351 Replace file headers, mostly to update copyright to 2006 2006-08-24 04:43:50 +00:00
fyodor
b5c6d48c87 fix minor compilation bug and unused variable 2006-07-04 23:23:03 +00:00
fyodor
9c0af0a95b memory releasing patch from Marek 2006-07-04 23:04:56 +00:00
fyodor
d3055b26bf Some patches from Marek 2006-07-04 08:00:11 +00:00
fyodor
56384d8770 About to release 4.20SOC-ALPHA1 2006-06-25 02:02:14 +00:00
fyodor
5a9fea3b39 portability fixes, fixed UDP phantom port bug, fixed --version-intensity crash, changed mass_dns to give warning rather than error if cannot find dns servers 2006-06-10 21:23:27 +00:00