1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-27 01:49:03 +00:00
Commit Graph

12696 Commits

Author SHA1 Message Date
dmiller
024f1fefd2 Add wrapper class for a fingerprint observation, used by submission processing tools 2022-12-02 21:57:32 +00:00
dmiller
5f3be5ad17 Extend parse_fingerprint_file for FP processing tools to get MatchPoints only 2022-12-02 21:57:31 +00:00
dmiller
12bb86e678 Fix a couple off-by-one errors in parse_single_fingerprint 2022-12-02 21:57:31 +00:00
dmiller
a94287c4dd Ignore a completely empty Class line 2022-12-02 21:57:30 +00:00
dmiller
18a05139be Ensure str2AVal resets existing values and detects too-long inputs 2022-12-02 21:57:30 +00:00
dmiller
06e6700268 Fix an inscrutable g++ error due to non-const callable comparison 2022-12-02 21:57:29 +00:00
dmiller
d113e08de1 Const-ify a few things, add a copy constructor 2022-12-02 21:57:29 +00:00
dmiller
7dcca32ff1 Avoid reading outside the provided range 2022-12-02 21:57:28 +00:00
dmiller
d957ca1274 Short-circuit os fingerprint matching if accuracy cannot be achieved 2022-11-16 15:55:55 +00:00
dmiller
f59d546c8f Use existing Lua strings for script output; avoid creating copies. 2022-11-16 15:55:54 +00:00
dmiller
56f59de131 Optimizations for IPv4 OS scan
Since the number, names, and preferred order of OS detection tests are
known, we can use fixed indices to put each test/value type in a
predictable location. Previously, we would insert the tests in an
arbitrary order, sort them, and then use strcmp() in each comparison to
ensure the sort order holds and any missing tests are skipped over.

Keeping test names in one location (MatchPoints) saves memory and keeps
the string pool small, which improves performance by reducing lookups
and making existing lookups faster.

Using a dedicated class (FingerPrintDef) for MatchPoints avoids calling
strtol() to obtain the points value for every comparison.
2022-11-11 18:44:19 +00:00
dmiller
1fb680b93f Use lookup table for 1-char strings, not std::map for string_pool. 2022-11-10 18:57:58 +00:00
paulino
70dc5434f4 Removes reference to obsolete file nmap-payloads to fix error when running make install 2022-11-07 15:32:13 +00:00
dmiller
87274f81fc Handle blank lines and duplicate protocol numbers. Fixes #2558 2022-11-04 22:07:28 +00:00
dmiller
ee059c44fe Big optimization of doAnyOutstandingRetransmits
Retransmitting does not change the set of incomplete hosts, so there's
no need to use a map to store the current position in the outstanding
probes queue. Using a vector is much faster. Additionally, improper use
of std::map::find() and std::map::operator[] meant that the O(logN)
lookup was happening 4 times for a single host for each iteration
through the loop. Complexity for N targets is now O(N), not O(N logN)
2022-11-02 02:12:39 +00:00
dmiller
a2062c2745 Small reduction in work done for nextTimeout 2022-11-02 02:12:38 +00:00
dmiller
1375f44416 Reduce sockaddr comparisons in raw scans 2022-11-02 02:12:38 +00:00
dmiller
4eee4f2e1f Reduce work spent checking outstanding probes in raw scans 2022-11-02 02:12:37 +00:00
dmiller
c1227faf0d Fix -PU and -PY for IPv6 2022-10-31 20:50:20 +00:00
dmiller
d9422b6d05 Enable UDP payloads for -PU, not only -sU 2022-10-31 20:50:19 +00:00
dmiller
3c6c84b5f7 Avoid copying target/source addr data when a pointer will do 2022-10-31 20:50:19 +00:00
dmiller
188a3acade Clarify and optimize top-ports checking 2022-10-31 17:27:56 +00:00
dmiller
92b68cb80f init_payloads does not return a value 2022-10-31 17:27:56 +00:00
dmiller
119376c0c4 Simplify service table key type 2022-10-31 17:27:55 +00:00
dmiller
7332939768 Ensure crypto CTX objects are freed. Fixes #2550 2022-10-25 17:00:01 +00:00
nnposter
e4fd4bd2fe Fix misplaced parentheses. Closes #2544 2022-10-23 22:42:11 +00:00
dmiller
2fcfac9329 Closes #2541. Consolidate nmap-payloads and nmap-service-probes; use port scan responses in version scan. 2022-10-21 21:15:48 +00:00
dmiller
99c9e776c8 Make some DTLS softmatches into hard matches now that it is treated as a tunnel 2022-10-21 21:15:47 +00:00
dmiller
5ae1b0fda2 Update static data in libnetutil 2022-10-21 21:15:46 +00:00
dmiller
495e220120 Remove libnetutil from Ncat dependencies 2022-10-21 21:15:45 +00:00
nnposter
cb7edf43ed Fixes URL typo. Closes #2545 2022-10-20 22:01:21 +00:00
dmiller
bda95e0437 Fix edge cases: SSL renegotiation, exec programs 2022-10-14 00:58:24 +00:00
dmiller
1251467f88 Detect send errors and shut down the connection when they happen 2022-10-14 00:58:23 +00:00
dmiller
c87ccb2ea5 Pass a pointer, not a copy of struct fdinfo 2022-10-14 00:58:23 +00:00
dmiller
349da3b98a Make removing fd from fd_list_t a little more efficient 2022-10-14 00:58:22 +00:00
dmiller
6a9acb1f1a Make sure Unix socket path is null-terminated, per unix(7) 2022-10-14 00:58:22 +00:00
dmiller
ca691d2789 Simplify/unify target string representation 2022-10-14 00:58:21 +00:00
dmiller
84e2e9be52 Add DTLS tunnel scanning to -sV 2022-10-10 20:48:15 +00:00
dmiller
4e6c8feb15 Enable multiple UDP connections in listen mode. Fixes #1223 2022-10-10 20:48:14 +00:00
dmiller
1641a291e9 Fix a double-free due to uninitialized should_free in bignum_data_t 2022-10-06 17:28:39 +00:00
dmiller
c75665f88e Update some syntax and note some areas of further need in Japanese translation 2022-10-04 20:22:19 +00:00
dmiller
ac1affb18e Update Japanese manpage translation. Closes #2507 2022-10-04 20:22:18 +00:00
dmiller
350d9a23f7 Silence compiler warnings about returning value from void function. Fixes #2529 2022-09-30 20:27:02 +00:00
dmiller
914cd2b272 Fix stdnse.tohex not adding separators. Fixes #2531 2022-09-30 20:03:37 +00:00
dmiller
2b4b822557 Use TCP receive buffer, not manual one, for socks proxy handshake.
Should address this Debian bug report:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=969314

Data read during SOCKS handshake was being written immediately to
STDOUT, which meant it was not passed to any program started with --exec
and friends.
2022-09-30 17:44:33 +00:00
dmiller
32eaa828b7 Faster RPC number lookup 2022-09-29 22:19:28 +00:00
dmiller
d81ead72dc New C backend for datafiles.lua; avoid copies of large data sets 2022-09-29 22:19:28 +00:00
dmiller
9d0e5ac2b9 Avoid warning about missing legacy provider unless debugging. Fixes #2532 2022-09-29 22:19:27 +00:00
dmiller
b5dd2956dd Check for sd > FD_SETSIZE before it is unrecoverable. Fixes #1857 2022-09-29 00:13:10 +00:00
dmiller
de9f84d080 Get better error message. See #2179 2022-09-28 21:40:57 +00:00