Konvertering av en 32-biters IP-adresse
Henter IP-adressen
Vi vil lage en ping ccm.net for å hente IP-adressen (i fet skrift)
$ Ping-c1 ccm.net PING ccm.net (194.169.240.130) 56 (84) data byte. 64 byte fra www.kisokea.org (194.169.240.130): icmp_seq = 1 ttl = 53 gang = 53, 2 ms
--- ccm.net ping statistikk --- 1 pakker sendt, 1 mottatt, 0% pakktap, tid 0ms rtt min / avg / max / mdev = 53.230 / 53.230 / 53.230 / 0.000 ms
- Vi fortsetter nå med konverteringen av IP ved hjelp av prosessorbiter.
- Tallet er omtrent 32 biter. For å få det hele, hopper vi over hver byte. Operatøren | tillater litt.
Nedenfor er den binære representasjonen
11, 000, 010 00, 000, 000 00, 000, 000 00, 000, 000 - 3, 254, 779, 904 (194 << 24) 00, 000, 000 10, 101, 001 00, 000, 000 00, 000, 000 - 11, 075, 584 (169 << 16) | 00, 000, 000 00, 000, 000 11, 110, 000 00, 000, 000 - 61, 440 (240 << 8) | 00, 000, 000 00, 000, 000 00, 000, 000 10, 000, 010 - 130 ----------------------------------- 11, 000, 010 10, 101, 001 11, 110, 000 10, 000, 010 - 3, 265, 917, 058 (3, 254, 779, 904 | 11075584 | 61440 | 130)
Omdannelse
Dette er kommandoen for å konvertere hele IP-en på 32 biter.
$ 194, 169, 240, 130 ekko | perl-ne 's / (\ d +) \. (\ D +) \. (\ D +) \. (\ D +) / $ 1 << 24 | $ 2 << 16 | $ 3 << 8 | $ 4 / e; skriv ut '3265917058
- Nedenfor er resultatet av å bruke ping nummeret i stedet for den klassiske IP
$ Ping-c1 3265917058 PING 3265917058 (194.169.240.130) 56 (84) byte data. 64 byte fra 194.169.240.130: icmp_seq = 1 ttl = 53 time = 53, 0 ms
--- 3265917058 ping statistikk --- 1 pakker sendt, 1 mottatt, 0% pakktap, tid 0ms rtt min / avg / max / mdev = 53.034 / 53.034 / 53.034 / 0.000 ms