04-16-2010
|
#2
|
|
Bir IP adresinin çeşitli şekillerde yazılışını gördükten sonra şimdi bir alan ismini diğer şekillere nasıl çevirebileceğimizi görelim.
Çevirimin nasıl çalıştığını görmek için örnek olarak www.yahoo.com adresini alalım. Öncelikle normal dotted-decimal IP adresini bulalım. Bunu bulmak için pek çok araç kullanılabilir. Ben ping kullandım: C:\WINDOWS>ping yahoo.com
Pinging yahoo.com [216.115.108.245] with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Yukarda hedef sistemin IPsinin 216.115.108.245 olduğu görülüyor.
Elimizde IP var şimdi bunu diğer format`lara çevirelim.
dotted-decimal bir IP adresini DWORD karşılığına çevirmek için her rakamı birbirinden ayırmak lazım. Böylece 216.115.108.245 aşağıdaki gibi bölünüyor:
216.115.108.245=
216
115
108
245]İlk olarak decimal olanları hexadecimal karşılıklarına çevirelim. Bu aşağıdaki tablo ile yapılabilir:
0 1 2 3 4 5 6 7 8 9 A B C D E F.
0 000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015
1 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031
2 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047
3 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063
4 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079
5 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095
6 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111
7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
8 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
9 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
A 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
B 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
C 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
D 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
E 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
F 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
Buna göre:
216=D8
115=73
108=6C
245=F5 Sonuç olarak, 216.115.108.245 = D8736CF5
D8736CF5 IPnin Hex karşılığı ve her zaman 8 karakter uzunluğunda olacaktır. bir DWORD değeri 10 tabanında gösterildiği için Decimal şeklinede çevirmemiz gerekiyor:
Start > Programs > Accessories > Calculator
View > Scientific
‘Hex’i seçin ve D8736CF5 yazın
Sonra Dec (Decimal)a basın. yazdığınız değerin 3631443189`a döüştüğünü göreceksiniz.
Şimdi 10 tabanında gösterilen DWORD değeriniz oldu. Browser`ınzıda www.yahoo.com veya 3631443189 veya 216.115.108.245 yazmak sizi aynı siteye götürecektir.
Yukardaki işlem zahmetli gelenler için aşağıdaki perl script`i bu işlemleri daha kolaylaştıracaktır.
#!/usr/bin/perl
# By Ben H. Originally by neeko.
# Usage: dword.pl [ -q | --quiet ] host/ip
#
use Socket; # for gethostbyname()
use Math::BigInt; # so it fits..
my $quiet, $host, @ip; # get some vars started.
if ( $#ARGV < 0 ) {
print '$0';
print 'Usage: $0 [-q | --quiet] host \n';
exit;
}
if ( $ARGV[0] =~ /-q|--quiet/ ) {
$quiet=1;
$name = $ARGV[1];
}
else {
$name = $ARGV[0];
}
@host = gethostbyname( $name ); # get the ip, if a hostname is used
$foo = $host[4];
# This parses the result of the gethostbyname into numbers
for $n (1..4) {
$ip[$n] = ord( substr( $foo , ($n-1) , 1 ) );
}
if ($quiet != 1) {
print '$name = $ip[1].$ip[2].$ip[3].$ip[4] = ';
}
for $n (1..4) {
$ip[$n] = ( $ip[$n] * ( 2 ** ( ( 3 - ($n-1)) * 8 ) ) );
}
print ($ip[1] + $ip[2] + $ip[3] + $ip[4]);
print '\n';
exit;
*******************
10 tabanlı DWORD değerine aşağıdaki matematik formülü ilede ulaşılabilir:
IP Adresi= 216.115.108.245
DWORD değeri: 3631443189 (hesaplamıştık)
216 * (256)3 = 216 * 16777216 = 3623878656
115 * (256)2 = 115 * 65536 = 7536640
108 * (256)1 = 108 * 256 = 27648
245 * (256)0 = 245 * 1 = 245
Son kolonuda eklediğimizde daha önce hesaplanan DWORD değerini elde ediyoruz.
*****************
IP adresinin binary şeklini elde etmek için
Start > Programs > Accessories > Calculator.
View > Scientific.
‘Hex’iseçin ve D8736CF5 yazın.
Bin (Binary)`e basın. yazdığınız değerin 11011000011100110110110011110101 olduğunu göreceksiniz.
Çoğu browser binary formatındaki IPleri kabul etmez. Onları kullanmanın tek yolu Decimal`e çevirmektirki buda 10-tabanlı sistemde DWORD gösterimleridir.
IP Adresini (216.115.108.245) binary karşığına çevirmek için:
Start > Programs > Accessories > Calculator.
View > Scientific.
‘Dec’ i seçin ve IP adresinin ilk bölümünü yazın (216).
‘Oct’ u seçin, bu IP adresinin ilk bölümünün Octal karşılığını verecektir (324).
Bunu bir yere not edin ve IP adresinin diğer bölümleri içinde bu işlemleri yapın.
Böylece, 216.115.108.245:
216= 330
115=163
108=154
245=365]Browser`a yazmadan önce hepsinin başına 0 eklemek gerekiyor
http://216.115.108.245 = http://0330.0163.0154.0365
Çevrim işlemi için aşağıdaki tabloda kullanılabilir:
0 1 2 3 4 5 6 7 8 9 A B C D E F.
0 000 001 002 003 004 005 006 007 010 011 012 013 014 015 016 017
1 020 021 022 023 024 025 026 027 030 031 032 033 034 035 036 037
2 040 041 042 043 044 045 046 047 050 051 052 053 054 055 056 057
3 060 061 062 063 064 065 066 067 070 071 072 073 074 075 076 077
4 100 101 102 103 104 105 106 107 110 111 112 113 114 115 116 117
5 120 121 122 123 134 125 126 127 130 131 132 133 134 135 136 137
6 140 141 142 143 144 145 146 147 150 151 152 153 154 155 156 157
7 160 161 162 163 164 165 166 167 170 171 172 173 174 175 176 177
8 200 201 202 203 204 205 206 207 210 211 212 213 214 215 216 217
9 220 221 222 223 224 225 226 227 230 231 232 233 234 235 236 237
A 240 241 242 243 244 245 246 247 250 251 252 253 254 255 256 257
B 260 261 262 263 264 265 266 267 270 271 272 273 274 275 276 277
C 300 301 302 303 304 305 306 307 310 311 312 313 314 315 316 317
D 320 321 322 323 324 325 326 327 330 331 332 333 334 335 336 337
E 340 341 342 343 344 345 346 347 350 351 352 353 354 355 356 357
F 360 361 362 363 364 365 366 367 370 371 372 373 374 375 376 377
******************** Octal IP Adresinde baştarafa istenildiği kadar 0 eklenebilir. Bu sonucu değiştirmeyecektir.
Yani http://0330.0163.0154.0365 aynı zamanda http://000330.000163.000154.000365 olarakda yazılabilir.
*******************
Browser`ınıza www.yahoo.com veya 3631443189 veya 216.115.108.245 veya http://0330.0163.0154.0365 yazdığınızda hepsinin sizi aynı adrese götürmesi gerekiyor.
Bir IP adresini Hexadecimal olarak göstermekde mümkün. Daha önce hesapladığımız gibi:
216.115.108.245 = D8736CF5
olarak bulmuştuk.
Her değerin başına bir `0x` ekleyelim:
http://0xD8.0x73.0x6C.0xF5
Yukarıdaki aynı zamanda http://0xD8736CF5 olarakda yazılabilir.
Not: Netscape`in çoğu sürümü Hexadecimal IP Adreslerini desteklemez.
Yukardaki formatlardan birkaçını birleştirerek bir cross breed yaratabilirsiniz ama browser`ın desteklemesi gerektiği unutulmamalı.
alıntı.
|
|
|