robertdavidgraham / masscan

TCP port scanner, spews SYN packets asynchronously, scanning entire Internet in under 5 minutes.
GNU Affero General Public License v3.0
23.49k stars 3.07k forks source link

IPv6 support #7

Open thefinn93 opened 11 years ago

thefinn93 commented 11 years ago
$ bin/masscan -p80 fc3a:956e:4b69:1c1e:5ebc:11a5:3e71:3e7e
FAIL: unknown command-line parameter "fc3a:956e:4b69:1c1e:5ebc:11a5:3e71:3e7e"
 [hint] did you want "--fc3a:956e:4b69:1c1e:5ebc:11a5:3e71:3e7e"?
$ bin/masscan -p80 -6 fc3a:956e:4b69:1c1e:5ebc:11a5:3e71:3e7e
nmap(-6): unsupported: maybe one day

This is what happens when I attempt to use masscan on an IPv6 address. :(

robertdavidgraham commented 11 years ago

Yea, lol, IPv6 isn't supported. The idea is scanning of "ranges", and IPv6 would instead be bulk tables of individual addresses (or DNS zones). The idea of "ranges" is so integral to the design that it really can't support IPv6. Though, of course, I could just add whole new scanning function and data structure, but it's fairly low on the priority list.

Though, I ought to write a parser for IPv6 addresses, if only to better warn people "this doesn't support IPv6".

thefinn93 commented 11 years ago

I personally would find it quite usual, how hard would it be to add v6 support? On Sep 15, 2013 1:15 AM, "Robert David Graham" notifications@github.com wrote:

Yea, lol, IPv6 isn't supported. The idea is scanning of "ranges", and IPv6 would instead be bulk tables of individual addresses (or DNS zones). The idea of "ranges" is so integral to the design that it really can't support IPv6. Though, of course, I could just add whole new scanning function and data structure, but it's fairly low on the priority list.

Though, I ought to write a parser for IPv6 addresses, if only to better warn people "this doesn't support IPv6".

— Reply to this email directly or view it on GitHubhttps://github.com/robertdavidgraham/masscan/issues/7#issuecomment-24466386 .

grutz commented 11 years ago

If we forget about reserved addresses the logical total IPv4 count is 4,294,967,296 (2^32). Consider that an IPv6 /64 can have a quintillion hosts (18,446,744,073,709,551,616 or 2^64) this would be a fairly difficult task. You could conceivably overrun a single network with traffic and be a very bad netizen.

That being said I would love to see a masscan variant work against a /64 range. It would start to push the envelope on the ideas of host discovery in an IPv6 world.

nannal commented 9 years ago

489968 years to find all ipv6 hosts at a rate of 1 0.0.0.0/0ph

Acquire additional nics, acquire faster pipes.

200,000,000 nics at 1 0.0.0.0/0 ph could do all of ipv6 space in 21 hours.

aaronkaplan commented 9 years ago

On Feb 23, 2015, at 3:02 PM, nannal notifications@github.com wrote:

489968 years to find all ipv6 hosts at a rate of 1 0.0.0.0/0ph

Acquire additional nics, acquire faster pipes.

or time machines...

� Reply to this email directly or view it on GitHub.

nannal commented 9 years ago

Yeah, holy necro. I wound up searching how to do --infinate and wound up on the issues page and then there's the question of IPv6 scanning.

So I figured it out then felt like I should at least share the number.

dfeinzeig commented 8 years ago

There may be ways to figure out appropriate ranges of ipv6 addresses to scan without trying to naively scan all of them. What would it take to add the ability to specify ranges of ipv6 addresses to scan?

joonakannisto commented 8 years ago

Would be interested to know if somebody is working on this. I am interested in scanning the lower 8-16 bits of /64s to find routers and other static IPs, as well as the EUI-64 addresses of specific manufacturers. For example, scan 00:50:56:ff:fe/24 range for virtual networks made with vmware.

macdewee commented 7 years ago

I need this feature too for scanning known lists of nodes for open ports.

Interesting is that Nmap supports ipv6 scanning, but Masscan does not.

wfleurant commented 7 years ago

The idea behind this issue is not to scan a quintillion internet addresses. The focus is on Network protocols and communities that depend on "published" addresses. Consider the value of using masscan on networks such as cjdns or DN42. The argument that ip6 scanning would lead to a swarm of inconsiderate netizen's is not productive -- as 1 (or many) masscan of ip4 can also be a nuisance for any NOC.

imfht commented 5 years ago

@robertdavidgraham will you add ipv6 for masscan? ;-D

cvmiller commented 4 years ago

IPv6 support with ranges will not be worth the time (read previous messages to see how long it would take). Perhaps it would be useful to feed masscan a list of addresses to scan (to measure availability of hosts, for example), but bulk support for IPv6 would be useless.

That said I think the Documentation that states: "This is an Internet-scale port scanner. It can scan the entire Internet in under 6 minutes" should be revised, as it is clearly wrong. With 30% of the traffic on the internet today being over IPv6, masscan will not scan the "entire internet in under 6 minutes".

It would be nice if the Documentation stated that IPv6 was not supported, and that masscan will not scan the entire internet in any amount of time, since it lacks IPv6 support.

KOLANICH commented 3 years ago

What is the current status of ipv6? I see a lot of ipv6-related code and ipv6-related fields in the binary format, but I see no way to feed ipv6 addresses into it other than directly using the internal functions.

flickerfly commented 3 years ago

On Feb 23, 2015, at 3:02 PM, nannal notifications@github.com wrote:

489968 years to find all ipv6 hosts at a rate of 1 0.0.0.0/0ph Acquire additional nics, acquire faster pipes.

or time machines...

Does the application support looping ground hog day style over IPv6 /24 ranges?

cvmiller commented 3 years ago

Selfless plug. I have developed a tool to scan the link (think broadcast domain) for IPv6. The tool won't scan beyond the router, but it scans the link in a matter of seconds, no groundhog day required.

https://github.com/cvmiller/v6disc