GoOn
GoOn
GoOn
Ok. This covers every ipv6 and ipv4 address.
"^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3}))|:)))(%.+)?\s*$"
Lord have mercy
Please don't. Use regex to find something that looks like an IP then build a real parser. This is madness, its's extremely hard to read and a mistake is almost impossible to spot. Not to mention that it's slow.
Just parse [0-9]{1,3}[0-9]{1,3}[0-9]{1,3}[0-9]{1,3} using regex (for v4) and then have some code check that all the octets are valid (and store the IP as a u32).
IPv6 was a mistake. We should have just added an addition octet
They played us for absolute fools!
IPv
heared of ipv5?
Plus the MAC address
It's always a treat to debug a regex of that size.
I knew there would be someone with the regex.
You're more of a perl programmer than network engineer :P
.*
Technically, this one also matches everything:
exits the room
0.0.0.0/0 0::0/0
You didn't specify it couldn't be in CIDR block notation...
::/0
Remember, when we abbreviate an ipv6 address all leading zeros are reduced to a single 0.
E.g
0003 would just become 03
When there are geoups of 4 zeros these can be represented as a single 0 or as a double colon ::
But we can only use the :: once so when summarizing an address containing multiple groups of 4 0s one after the other they can all be abbreviated to a single ::
Eg
fe80:0000:0000:0000:0210:5aff:feaa:20a2 would become fe80::210:5aff:feaa:20a2
Therefore it is perfectly valid to abbreviate an address of 0000:0000:0000:0000:0000:0000:0000:0000 /0 to just ::/0
Eh, I've seen some software internally prefer 0::0 instead of just ::0 or :: . Notation wise though you are correct, it is unnecessary.
0.0.0.0 /0 ::/0
SUCK MY DICK, GRU!
Haha spot on
Its CIDR notation. So /0 means the subnet mask has no on bits and would read as 0.0.0 0 if you had a /1 that turns 1 bit on in the subnet mask, so it would be 128.0.0.0.
If i had a /24 which is the subnet mask used for most small networks like your home router. There would be 255 minus 2 addresses available for clients (phones, pcs etc) so the subnet mask would have 24 on bits and read 255.255.255.0, which you may be familiar with.
(Assuming you dont know much, not to insult you, you might know plenty), but when writing any kind of instructions or guides, i was always told to assume the reader knows absolutely nothing and miss nothing out.
This is the way.
:00
- :ff
Edit: Just learnt this can be also noted as:
::
- ::f
What about IPv4
0.0.0.0/0
Better hope the goon hasn't heard of IPv6 either, or you're toast
::/0
Undefined
This is gonna take a while...
0.0.0.0
0.0.0.1
0.0.0.2
0.0.0.3
...
0.0.0.0/0
::/0
Winrar
Chicken dinrar?
0.0.0.0/0
ipv4 [0,255].[0,255].[0,255].[0,255]
ipv6 [0000,ffff]:[0000,ffff]:[0000,ffff]:[0000,ffff]:[0000,ffff]:[0000,ffff]:[0000,ffff]:[0000,ffff]
This excludes all the ipv4 ips that have a 0 in the 2nd, 3rd, and 4th octets. Sorry but we're going to have to revoke your Network Engineering credentials.
thanks, fixed
Not to nitpick, but an IPv6 address is represented as eight groups of four hexadecimal digits separated by :. Like 2001:0db8:3333:4444:5555:6666:7777:8888.
Omg, that's twice now I've messed it up. Fixed.
I'll leave the regex to validate an ipv6 address as an exercise to the reader.
This reminds me of something I saw online maybe 20 years ago now. Someone created a torrent with a name like "every IP address ever (hacking tool)" and uploaded it to Suprnova, which ended up having thousands of people seeding it. It was just a text file with every IPv4 from 0.0.0.0 to 255.255.255.255 😂
Heard about that too! Is there an updated version for ipv6?
That file would be ungodly large. There are 2^128 possible addresses, each weighing in at 128 bits, 16 bytes. 16 bytes times 340 trillion trillion trillion. That puts us around 5.44 trillion Zettabytes. The estimates I've seen for worldwide data storage sit aroun 60-70 zettabytes.
IPv6 version is just a Python script that generates random 128-bit integers. Eventually you'll hit a valid IPv6 address!
127.0.0.1, I'm an introvert
one of them has a 7 I’m pretty sure
wow don't doxx me plz
0.0.0.0/0
/32
That's only 1 ip (single host)
I mean if I name them do I have to own the domain or…
My PC's is now Bob, My router's Billy...
1 and 0. Some assembly required.
32 or 128 of them, depending on protocol.
0/0
ipv6
127.0.0.1
127.0.0.1
That's 1/256th of IPv4
0/0 and ::/0
Funny. I put 0/0 first then reconsidered, but I don't know why.
USA sure does have a lot of IPs!
People name IPs outside of DNS, I mean is there like a Susan or a Karen, perhaps a Clark IP?
Doug
s.w.x.y/z
plug it into a 5-dimensional graph and there you go.