------------------------------------------------------------------------------ Base10 nummers en IP nummers. ------------------------------------------------------------------------------ Auteur: Digital Overdrive E-mail : digiover@dsinet.org Homepage : http://www.dsinet.org ------------------------------------------------------------------------------ Met dank aan : Dugo (voor de scriptjes) network-tools.com (voor de formule) Greetz : #dsinet, #h4h, #hit2000, #root66 en #selwerd ------------------------------------------------------------------------------ Copyright : Deze textfile mag alleen *onveranderd* gecopieerd worden ------------------------------------------------------------------------------ Je hebt ze vast wel eens gezien, rare getallen wat later toch een soort IP nummer blijkt te zijn. Veelal gebruikt door spammers die hopen zo annoniem te blijven. Hier leg ik dus uit wat dat is en hoe je zoiets kan omrekenen. Wat is Base10 eigenlijk ? Base10 zijn getallen gevormd volgens het decimale stelsel. Binair is dus Base2, octaal is Base8 en hexadecimaal is Base16. Wat ben je nodig ? Ik ga er hier van uit dat je een Linux-pc bij de hand hebt. heb je die niet dan moet je zelf alles uitrekenen (d.m.v. een rekenmachine of gewoon op papier). In mijn voorbeelden gebruik ik 209.237.160.164 (network-tools.com) als IP nummer Nu moet je dus een manier bedenken om die IP-nummers te converteren naar Base10 nummers. Dat kan met de volgende formule : $1 * 256^3 + $2 * 65536 + $3 * 256 + $4 $1 = het 1e deel van een IP nummer, dus : 209 $2 = het 2e deel van een IP nummer, dus : 237 $3 = het 3e deel van een IP nummer, dus : 160 $4 = het 4e deel van een IP nummer, dus : 164 Dat wordt dus : 209 x (256)^3 + 237 x (256)^2 + 160 x (256)^1 + 164 De uitkomst is : 3522011300. Nu gaan we die Base10 nummer pingen : ~$ ping 3522011300 PING 3522011300 (209.237.160.164): 56 data bytes 64 bytes from 209.237.160.164: icmp_seq=0 ttl=115 time=116.8 ms --- 3522011300 ping statistics --- 2 packets transmitted, 1 packets received, 50% packet loss round-trip min/avg/max = 116.8/116.8/116.8 ms Dus nu zien we dat het klopt. Je kan ook http://3522011300/ bezoeken met een browser. Alles wat links van een Base10 nummer staat kan je weglaten. Dus als iemand spamt met anonymous@3522011300, kan je die anonymous@ gewoon weglaten. Heb je een Linuxbak dan kan je het heel snel omrekenen met dit comandline scriptje: ~$ echo $1|awk -F. '{print $1" * 256^3 + "$2" * 65536 + "$3" * 256 + "$4}'|bc Verander de $1, $2, $3 en $4 in de verschillende octets van het IP nummer. Zijn er nog andere manieren om dit te doen ? Ja, je kan ook het IP nummer eerst omrekenen naar binarie, haal de punten eruit en reken het dan om naar decimaal. Voorbeeld : 209.237.160.164 Eerst gaan we 209 omrekenen (alle octets moeten apart) : 11010001 237 : 11101101 160 : 10100000 164 : 10100100 Dus: 209.237.160.164 = 11010001.11101101.10100000.10100100. Dit kan heel makelijk met het volgende scriptje : #!/bin/sh for i in `echo $1|tr "." " "`; do printf "obase=2\n$i\n"|bc; done ~$ chmod +x