1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-09 14:11:29 +00:00
Commit Graph

170 Commits

Author SHA1 Message Date
dmiller
00cb4d22d9 Switch from pcap_next to pcap_next_ex to check for errors
This change supports #1394. When the network goes down, Nmap ought to
stop instead of slowing to an infinite crawl.
2020-01-13 17:14:45 +00:00
dmiller
898988dcd3 Remove dangling else 2019-12-26 16:46:17 +00:00
dmiller
7d1530476d Remove some unnecessary/constant comparisons. #1834 2019-12-25 20:01:17 +00:00
dmiller
5abe0aa8cc Combine/simplify conditional branches, eliminating dead code. See #1834 2019-12-22 21:50:55 +00:00
dmiller
77421962aa Remove mostly-unused winclude.h 2019-05-29 15:11:13 +00:00
dmiller
d639a53088 Bump copyright date in license headers 2019-05-28 21:36:04 +00:00
dmiller
57ff460847 Support names for all IP protocols in libnetutil. See #841 2019-05-22 16:40:49 +00:00
dmiller
f8004b792c Replace a config-time check with a ifndef that also works on Windows. 2018-11-21 06:23:08 +00:00
dmiller
30db709755 Optimistically revert mutex that was needed with WinPcap. Npcap likely is unaffected. 2018-10-03 16:57:54 +00:00
dmiller
534643aac6 Performance tweak for Windows. See #1327 2018-09-26 21:12:40 +00:00
dmiller
d6a04c465e Call pcap_set_immediate_mode to get results back immediately. 2018-08-21 04:51:33 +00:00
dmiller
7f1485f56d Switch to pcap_create instead of pcap_live_open. See #1291 2018-08-20 22:08:56 +00:00
nnposter
302954fb3f Rectifies incorrect use of va_start/va_end from stdarg.h. Closes #1297 2018-08-09 22:11:15 +00:00
dmiller
689ea0e05d Spelling corrections. Fixes #1160 2018-03-26 14:59:41 +00:00
fyodor
ff62300249 Bump copyright dates to 2018 and slightly improve wording (doesn't change meaning) of Nmap license header text 2018-01-28 21:18:17 +00:00
rewanth
6ee953a5ff Removes trailing spaces in 69 files. Closes #971. 2017-08-23 08:52:40 +00:00
dmiller
9c7ea727a7 Update license terms for 2017 2017-06-07 12:32:38 +00:00
fyodor
4bd67aa2fb Update the Nmap license/header text to reflect latest updates to docs/legal-notices.xml 2016-12-14 00:12:23 +00:00
dmiller
f4c5c832a6 Remove dependency on pcap-int.h Fixes #426
Windows doesn't support selectable pcap fds, so instead of fiddling with
adapter read timeouts via PacketSetReadTimeout, we get an event handle
with pcap_get_event and WaitForSIngleObject. This means we don't need to
extract the adapter from the pcap_t, which is not part of the libpcap
API and was causing crashes switching between the libpcap versions used
by WinPcap and Npcap.
2016-08-25 18:41:03 +00:00
dmiller
5d726c7733 Handle ICMPv6 packets without a body
Two issues here: First, IP protocol scan can send packets with protocol
58 (ICMPv6) even over IPv4. This led to a bad interaction where the
packet was created (in build_protoscan_packet) without a data payload,
but setIP tried to set the packet's Identifier field (present in both
ICMPv6 and ICMP Echo Request packets), leading to a heap buffer
overflow. Instead, we now only try to set this identifier when the IP
version matches the ICMP version, indicating that we set the data
payload.

The other issue was a out-of-bounds read while packet tracing when an
ICMPv6 packet without a payload was sent or received, due to trying to
read the type and code. Now we check that the data length is sufficient
to contain an ICMPv6 header before attempting to read one.

Credit LLVM/Clang's AddressSanitizer with catching these bugs.
2016-07-28 05:11:35 +00:00
vincent
0f22680426 Correct format string specifiers
The formats has been tested and verified on Mac OS X 10.8.5,
Mac OS X 10.11.5 and Ubuntu 14.04 LTS, all on x86_64 machines
and OSs. It mainly silences warnings. There were no warnings on
Ubuntu but a few on Mac OS, so the fix is intended to silence
warnings on Mac OS whithout triggering new warnings on other OSs.
Example of warnings previously encountered:

netutil.cc:2828:74: warning: format specifies type 'unsigned short'
but the argument has type 'int' [-Wformat]
2016-07-01 11:44:26 +00:00
dmiller
855ec33fc0 Allow use of Windows' own inet_pton and inet_ntop functions 2016-06-04 02:46:12 +00:00
dmiller
6e33d6ac3c Bump date in copyright headers 2016-04-04 15:38:44 +00:00
dmiller
ecd041bd11 Avoid unused var warning if IPV6_TCLASS is not defined 2016-02-21 14:28:10 +00:00
dmiller
1cde9a4ed7 Display next-hop MTU instead of encapsulated total IP len. http://seclists.org/nmap-dev/2016/q1/112 2016-02-12 05:42:20 +00:00
dmiller
27c2a64a17 Remove 6/8, 7/8, and 55/8 from ip_is_reserved. http://seclists.org/nmap-dev/2016/q1/11 2016-02-11 05:52:35 +00:00
dmiller
f9a7123aed sys/uio.h needed for struct iovec on OpenBSD 2016-01-13 20:53:38 +00:00
dmiller
a205e0c4d4 Fix for OpenBSD packet loss. Fixes #274 2016-01-12 19:38:06 +00:00
dmiller
2450dee71e Extend libnetutil's isipprivate function to check for 169.254/16 2015-12-19 20:44:55 +00:00
dmiller
e73053c457 Fix FreeBSD version check for raw socket byte order. Fixes #217. See #196, #50 2015-10-28 03:21:15 +00:00
dmiller
3d9e348832 Use a mutex on Windows to avoid a hang when accessing WinPCAP driver
Reported by multiple users on Windows 8.1 and Windows Server 2012 R2.
Seems to hang when the WinPCAP driver is accessed via OpenServiceA by
multiple processes at once. Users report that this change, which uses a
mutex to avoid concurrent access, fixes the hang.
2015-09-20 19:06:11 +00:00
dmiller
9ab82ecedf Fix raw packet sending on FreeBSD 10.0 and later.
See https://svnweb.freebsd.org/base?view=revision&revision=241913 for
the change. Closes #196. Fixes #50.
2015-08-06 21:10:36 +00:00
dmiller
68409b2226 Update copyright date to 2015 2015-06-03 13:01:29 +00:00
dmiller
5d6fe15fec Cache dnet names not found in addition to found names. http://seclists.org/nmap-dev/2015/q1/251 2015-06-01 03:51:31 +00:00
dmiller
c7e5ad67b5 Do optimization of pcap filters via set_pcap_filter
Optimizing reduces BPF instructions from 45 to 10 for large-scan case.

Also use PCAP_NETMASK_UNKNOWN instead of 0 since we don't provide a
netmask.
2014-10-29 05:31:08 +00:00
dmiller
5adfb3b1de Update copyright notice to 2014 2014-08-16 01:52:33 +00:00
jay
8d5ec9e310 Reapply r33420, r33421. Fix a missing right parenthesis. https://xkcd.com/859/ 2014-08-15 12:09:22 +00:00
fyodor
f6f59a7cd7 Auto regeneration with latest template files, etc. 2014-08-13 22:57:43 +00:00
jay
d4cf544df6 Fix a missing bracket at the end of the IMPORTANT NMAP LICENSE TERMS part in each file 2014-08-02 19:29:50 +00:00
dmiller
795ca1b64f Fix assert fail on FreeBSD in libdnet 2013-11-07 19:32:33 +00:00
dmiller
77f1429a56 Fix UDP checksum generation (0 -> 0xffff)
See changelog and http://seclists.org/nmap-dev/2013/q4/122
2013-11-06 02:46:20 +00:00
david
5df0e13ee2 Use 32-bit values, not 16, for IP ID values.
IP ID fields are overloaded to include the flow label of IPv6 packets.
In particular, abstract_ip_hdr is no longer limited to 16 bits.
2013-10-27 06:33:45 +00:00
d33tah
ccd0c02a4c Add a lacking space in the license comment. The command I used to do this is:
for file in `grep "* including the terms and conditions of this license text as well.       \*" * -r --files-with-match `; do sed "s/\* including the terms and conditions of this license text as well.       \*/* including the terms and conditions of this license text as well.        */g" -i $file; done
2013-09-11 19:06:20 +00:00
david
1f372aa911 Make format string specifiers better match types.
Suggested by Gisle Vanem.
http://seclists.org/nmap-dev/2013/q3/269
2013-08-15 08:07:26 +00:00
david
4961ebf047 8-byte display for SCTP checksum. 2013-08-15 08:07:24 +00:00
david
ed237e8e19 Use %lu instead of %ul.
Discovered by Gisle Vanem.
http://seclists.org/nmap-dev/2013/q3/269
2013-08-15 08:07:21 +00:00
david
784b1ef4e8 Swap SCTP vtag and csum in HIGH_DETAIL output.
Discovered by Gisle Vanem.
http://seclists.org/nmap-dev/2013/q3/269
2013-08-15 08:07:14 +00:00
fyodor
6e01ecd452 Update an email address, fix a typo, and slightly reword a sentence. 2013-07-30 00:02:00 +00:00
fyodor
83fb10ec56 Update the Nmap copyright/license files. This isn't the new Nmap Public Source License we've been discussing on the list, but rather just a 'quick patch' to hopefully prevent some of the abuse we've been seeing from companies lately. More details on the changes will be posted to the dev list. Also, the copyright year was updated to 2013 (which is the only change to Nsock license statements). 2013-07-28 22:05:05 +00:00
david
9ac1bffad2 Ignore down interfaces at route_dst time, not when building routing table.
The previous code to ignore down interfaces didn't account for implicit
routes that come from interface addresses and netmasks. You can force
the use of a route using a down interface with -e.
2013-07-01 02:06:09 +00:00