Me: grinning manically
Coworker: Why are you looking at me like that?
Me: Open up a terminal and type
ping 4.2.514 and hit enter.Coworker: ...what's the fourth number?
Me: grin widens Just hit enter.
Coworker: WTF!?
ping 4.2.514 and hit enter.I mean... 2056 is 8*256 + 8, the maths makes sense, but WTFFFFFF?
@uastronomer @ryanc yeah, it's completely cursed
`ping 134744072`
```
>>> (8 * pow(256, 3)) + (8 * pow(256, 2)) + (8 * pow(256, 1)) + (8 * pow(256, 0))
134744072
```
or
```
sum(8 * pow(256, n) for n in range(4))
```
OK stepping away from the Python console now
@pikesley @uastronomer @ryanc It’s actually really great, because it’s incredibly painful to do math with dotted decimal strings, especially when the netmasks don’t line up to a byte boundary. It’s much, much easier to convert them to a number and do math on the number.
For example, you can convert an interface’s IP number to an integer, convert its mask to an integer, and do a bitwise AND to get the lowest address. You can then bitwise NOT the mask integer and do a bitwise OR with the lowest address to get the highest address. And you can feed integers to seq or a for loop or whatever.
@Austin_Dern @pikesley @uastronomer @ryanc
01189998819991197253.com/help.html
@pikesley @ryanc @leitzke @Austin_Dern @uastronomer
He was the second-best writer on "Father Ted".
Arthur disowned him years ago.
Johnny Marr returns from the bar carrying three pints. He, John Squires and Arthur Matthews each take a deep draught, and sigh wistfully
@dec23k @pikesley @ryanc @leitzke @uastronomer Alas.
Way back before we knew about him, we got a book of Father Ted scripts with commentary and it mentioned one episode where they wanted an insert shot of Father MacDougal working out "a page of failed noughts-and-crosses" and gads, to think a mind that could produce such a perfect funny concept would be lost.
[ The episode didn't use the page because they couldn't work out a prop that did the idea justice. ]
@pikesley @ryanc @Austin_Dern @uastronomer oh damn, I had no idea he was a bigot until now!!!
it even took me some hours to understand that "a monster" should actually be interpreted by the negative connotation.
Sorry for bringing up the reference and thanks for pointing this out so I could read about it.
@leitzke @pikesley @ryanc @uastronomer Oh, I'm sorry to bring you the bad news.
Here's hoping we live long enough to see him fix his heart or die.
@uastronomer
That's it. I'm just going to document things in Confluence with calculated IPs like 'ping 168433938'
```
>>> IP="185.53.178.54"
>>> sum(int(n) * pow(256, index) for index, n in enumerate(reversed(IP.split("."))))
3107303990
```
Thought about this all over lunchtime
>'cos a standard format IPv4 address is technically a 4 digit base256 number,<
not exactly. if you ping 192.1 (example from below), the pinged address ist not 0.0.192.1, but (strangely) 192.0.0.1
but yes, there's some similarity. probably depending on how ping parses this numbers.
@DanKen @uastronomer @ryanc @Infoseepage
Yeah, `ping` is doing some parsing that other tools... aren't:
```
➜ ping 3107303990
PING 3107303990 (185.53.178.54): 56 data bytes
64 bytes from 185.53.178.54: icmp_seq=0 ttl=51 time=30.992 ms
➜ whois 3107303990
% IANA WHOIS server
% for more information on IANA, visit http://www.iana.org
% This query returned 1 object
as-block: 402333-4199999999
organisation: Unallocated
```
@pikesley @DanKen @uastronomer @ryanc @Infoseepage
I would not trust whois in all scenarios.
It depends upon which server you ask.
@pikesley @DanKen @uastronomer @ryanc @Infoseepage
It could be coded to enforce octets and return an error, but it is lazy coding. Fixing it now could create breakage.
Pick your poison.
@pikesley
Like, when I saw the resulting ping, it made sense... Even though it's insanity.