Nmap 7.90 Released
Nmap 7.90 is released, right after the release of Npcap 1.00, .
2 elements from the announcement I want to highlight:
With the production-ready and highly performant Npcap 1.00 driver included, we can finally recommend Nmap on Windows as a true peer to the traditional Linux builds.
We also did some long-needed license cleanup and gave the license a name (Nmap Public Source License) to avoid the previous confusion of Nmap being under "GPLv2 with various clarifications and exceptions". The NPSL is still based on the GPLv2, but brings in terms from some other popular open source licenses.
Didier Stevens
Senior handler
Microsoft MVP
blog.DidierStevens.com DidierStevensLabs.com
Keywords:
6 comment(s)
×
Diary Archives
Comments
Anonymous
Oct 4th 2020
4 years ago
Anonymous
Oct 5th 2020
4 years ago
Anonymous
Oct 5th 2020
4 years ago
Anonymous
Oct 5th 2020
4 years ago
"ppp0" is not an ethernet device. Use the --unprivileged option for this scan. QUITTING!Only ethernet devices can be used for raw scans on Windows, and "ppp0" is not an ethernet device. Use the --unprivileged option for this scan. QUITTING!
I tried with this scan command line "nmap -T4 -A -v -Pn 10.x.x.x" and it discovered no ports and quit immediately with the same error as above.
Then I tried this scan command "nmap -sT -T4 -A -v -Pn --unprivileged 10.x.x.x" and ended up with ports being discovered and then this error "Assertion failed: (*parent_ptr)->index == parent_idx, file src\gh_heap.c, line 98"
Nmap on WSL2 works great, giving me all the expected results without any errors ;-) You do need to know the command lines but I have setup aliases for all the common ones
alias NmapIntenseNoPing='nmap -T4 -A -v -Pn'
alias NmapPingScan='nmap -sn'
alias NmapQuickScan='nmap -T4 -F'
alias NmapQuickScanPlus='nmap -sV -T4 -O -F --version-light'
Anonymous
Oct 5th 2020
4 years ago
Raw port scans on non-ethernet adapters is hit and miss (mostly miss), but doing the scan with "-sT" uses the OS calls to make the TCP connection, it should work even over a PPP connection. Looks like you've tripped over a bug!
Tripping over pointers in C is a time-honoured and easy thing to do (speaking as someone who's coded pointers to arrays of functions, that then return pointers themselves) - and once you make a mistake (dropping or adding a "*" for instance), the harder you look the more correct your mistake looks.
The offending code (or at least the one that throws the error) in this case line 98 in this while loop:
94 while (cur_idx > 0) {
95 parent_idx = (cur_idx - 1) >> 1;
96
97 parent_ptr = hnode_ptr(heap, parent_idx);
98 assert((*parent_ptr)->index == parent_idx);
99
100 if (heap->cmp_op(*parent_ptr, hnode))
101 break;
102
103 (*parent_ptr)->index = cur_idx;
104 *cur_ptr = *parent_ptr;
105 cur_ptr = parent_ptr;
106 cur_idx = parent_idx;
107 action = 1;
108 }
I won't be debugging this anytime soon - but if any of our readers are interested and work out a code fix, let us know!
Anonymous
Oct 5th 2020
4 years ago