ผมหาบทความดีๆมาให้อ่านกันนะครับเกียวกับการแกะรอย
ที่อยู่ทางภูมิศาสตร์ของไอพีแอดเดรส (IP Address)
บางครั้งเมื่อเราเห็นไอพีแอดเดรสแล้วทำให้เราสงสัยและอยากรู้ข้อมูลที่มากขึ้นของใครบางคนหรือโฮสต์บางโฮสต์
แต่เราจะใช้ไอพีแอดเดรสนั้นเพื่อหาข้อมูลที่มากกว่า เช่น หาที่ตั้งของคอมพิวเตอร์ของไอพีนั้นได้อย่างไร
บทความเรื่องนี้จะตอบคำถามเหล่านี้ ที่จริงแล้ว ไอพีแอดเดรส (จริง ๆ แล้วทั้ง TCP/IP Protocol) ถูกกำหนดโครงสร้างหรือการออกแบบที่ไม่สามารถ บอกได้ว่าระบบที่มีไอพีนั้นตั้งอยู่ที่ประเทศใหน ถ้าเราดูอย่างง่าย ๆ จะเห็นได้ว่าไอพีแอดเดรสไม่มีส่วนที่บอกได้ว่า คอมพิวเตอร์ที่ใช้ไอพีนั้นมาจากประเทศใหน ดังนั้นการเข้าใจว่าส่วนที่สองหรือสามของไอพีจะหมายถึงประเทศที่ระบบนั้นใช้ นั้นไม่ถูกต้อง อย่างไรก็ตาม บางครั้งก็สามารถเดาหรือหามาได้ว่าอยู่ที่ประเทศใหนหรือแม้แต่กระทั่งบอกเมืองที่ตั้งอยู่นั้น โดยการดูจากสามส่วนแรกของไอพี เรามาดูตัวอย่างเพื่อจะให้เข้าใจว่าที่ผมกล่าวไปนั้นหมายถึงอะไร ก่อนที่จะ ไปดูที่ตัวอย่างเรามาทำความเข้าใจกันก่อนว่าจริง ๆ แล้วมีการให้ไอพีแอดเดรสกับคุณได้อย่างไร


ขั้นแรก
ผู้ให้บริการอินเตอร์เน็ต(ISP)ของคุณจะต้องไปขอไอพีจากส่วนกลางที่รับผิดชอบและได้ไอพีแอดเดรสที่
อยู่ในช่วงหนึ่งซึ่งจะให้ไปแก่สมาชิก (ที่โทรศัพท์เข้ามายังเซิร์ฟเวอร์)ไปอีกต่อหนึ่ง ไอเอสพีส่วนมากจะได้
network address เป็น Class C ซึ่งประกอบไปด้วย Network Prefix 24 บิต (สามส่วนแรกของไอพี) และ Host number 8 บิต (ส่วนสุดท้าย) ถูกเรียกเป็น "24's" และใช้โดยทั่วไปโดยไอเอสพีส่วนใหญ่
ในโลกแห่งความเป็นจริง ทุก ๆ คนจะมีที่อยู่บ้านของตัวเองหรือหมายเลขโทรศัพท์ เพื่อให้เขาสามารถติดต่อ ได้โดยหมายเลขหรือที่อยู่นั้น เช่นเดียวกันกับคอมพิวเตอร์ที่ต่อเข้ากับอินเตอร์เน็ตจะมี Internet Protocol ที่เป็นของตัวเอง หรือไอพีแอดเดรสที่สามารถใช้เพื่อติดต่อกับคอมพิวเตอร์เครื่องนั้น ในภาษาของนักคอมพิวเตอร์ตัวยง ไอพีแอดเดรสหนึ่ง ๆ จะเป็นสัญลักษณ์เลขฐานสิบที่แบ่งที่อยู่ทางอินเตอร์เน็ตขนาด 32 บิตเป็นสี่ส่วน ๆ ละ 8 บิต

ไอพีแอดเดรสให้ข้อมูลกับเราบ้างหรือไม่ รึว่าตัวเลขนั้นมันหมายถึงอะไร ?
มาดูตัวอย่างของไอพีแอดเดรสต่อไปนี้:
202.144.49.110

ในส่วนแรก ตัวเลขก่อนเลขฐานสิบตัวแรก เช่น 202 เป็น Network number หรือ Network Prefixหมายถึงมันจะระบุถึงหมายเลขของเน็ตเวิร์คที่เป็นโฮสต์นั้น
ส่วนที่สองเช่น 144 เป็น Host number
ที่บอกถึงหมายเลขของโฮสต์ที่อยู่ภายในเน็ตเวิร์ค ดังนั้น ถ้าคอมพิวเตอร์อยู่ในเน็ตเวิร์คเดียวกับก็จะมี Network number เหมือนกัน เพื่อให้เกิดความยืดหยุ่นกับขนาดของเน็ตเวิร์คดังนั้นจึงมีไอพีแอดเดรสหลาย class ที่แตกต่างกัน:
Address Class Dotted Decimal Notation Ranges
Class A (/8 Prefixes) 1.xxx.xxx.xxx ถึง 126.xxx.xxx.xxxClass B ( /16 Prefixes) 128.0.xxx.xxx ถึง 191.255.xxx.xxxClass C ( /24 Prefixes) 192.0.0.xxx ถึง 223.255.255.xxx

class A Network Address จะประกอบด้วย Network Prefix 8 บิต ตามด้วย Host
number 24 บิต เรียกว่า "/8"s" หรือ "8's" เพราะว่ามันมี Network prefix ขนาด 8 บิต ส่วน class B Network Address มี Network Prefix ขนาด 16 บิตตามด้วย Host number 16 บิต เรียกว่า "16's" ใน class C Network Address มี Network Prefix ขนาด 24 บิต และ Host number 8 บิต เรียกว่า "24's" และมักจะใช้กันโดยไอเอสพีต่าง ๆ เนื่องจากขนาดที่เติบโตขึ้นเรื่อย ๆ ของเครือข่ายอินเตอร์เน็ต ผู้บริหารเน็ตเวิร์คต่าง ๆ จึงเจอปัญหาหลายอย่าง ตารางเส้นทางการติดต่อบนอินเตอร์เน็ตเริ่มโตขึ้นและผู้บริหารระบบจำเป็นต้องร้องขอ Network number
จากอินเตอร์เน็ตอีกก่อนที่จะมีเน็ตเวิร์คใหม่ในไซต์ของพวกเขา จึงทำให้เกิด subnet ขึ้นมา ถ้าไอเอสพีของคุณมีขนาดใหญ่และให้บริการไอพีแบบ dynamic IP address คุณจะสังเกตเห็นได้ว่าเมื่อใด ก็ตามที่คุณล๊อกออนเข้าอินเตอร์เน็ต ไอพีแอดเดรสของคุณจะมี 24 บิตแรกที่เหมือนกันแต่มีเพียง 8 บิต สุดท้ายเท่านั้นที่เปลี่ยนไป เนื่องจากการนำ subnet มาใช้ ดังนั้นไอพีแอดเดรสจึงมีลักษณะดังนี้:
xxx.xxx.zzz.yyy
สองส่วนแรกเป็น Network Prefix number, zzz เป็น Subnet number และ yyy คือ Host number ดังนั้นคุณจึงเชื่อมต่ออยู่กับ subnet เดิมทุกครั้งในเน็ตเวิร์คเดียวกัน ด้วยเหตุนี้สามส่วนแรกจึงยังเหมือนเดิม มีเพียงส่วนท้ายสุด เช่น yyy เท่านั้นที่ไม่แน่นอน เช่น ถ้าไอเอสพี xyz ได้ไอพี 203.98.12.xx มา ดังนั้นคุณสามารถที่จะมีไอพีใด ๆ ก็ตามที่สามส่วนแรกเป็น 203.98.12. แต่ละไอเอสพีมีไอพีอยู่ในช่วงหนึ่งซึ่งจะจัดสรรให้กับสมาชิกทุกคน หรือ สมาชิกทุกคนที่เชื่อมต่อกับอินเตอร์เน็ต
โดยใช้ไอเอสพีเดียวกันก็จะมีไอพีอยู่ในช่วงนี้ด้วย จึงมีผลทำให้ทุกคนที่ใช้ไอเอสพีเดียวกันมีแนวโน้มที่จะมีไอพี แอดเดรสที่มีสามส่วนแรกเหมือนกัน ถ้าคุณค้นคว้าหาข้อมูลอย่างจริงจัง คุณสามารถบอกได้ว่าไอเอสพีไหนที่คนนั้นกำลังใช้อยู่อย่างง่าย ๆ โดยดูจาก ไอพีของเขาเอง แล้วชื่อของไอเอสพีนั้นสามารถใช้เพื่อบอกเมืองและประเทศของบุคคลนั้น
ลองมาดูที่ตัวอย่าง: ในประเทศของผม มีไอเอสพีรายใหญ่สามราย:

ISP Name Network Address Allotted
ISP I 203.94.47.xxISP II 202.92.12.xxISP III 203.91.35.xx

ถึงตอนนี้ ถ้าผมรู้จักเพื่อนทางอินเตอร์เน็ตและรู้ไอพีว่าไอพีของเขาคือ:
203.91.35.12 ผมสามารถค้นหาได้อย่างง่ายดายว่าเขาใช้ ไอเอสพี III เพื่อเชื่อมต่อกับอินเตอร์เน็ต ถูกไหม ? คุณอาจพูดว่าใคร ๆ ก็ทำอย่างนี้ ได้ เอาละ คำตอบคือใช่และไม่ใช่ คุณจะเห็นได้ว่าวิธีการข้างต้นนี้หาไอเอสพีได้สำเร็จเพราะว่าเรามีรายการของ ไอเอสพีและ Network Address แล้วเท่านั้น
ดังนั้นตามความเห็นของผมวิธีการข้างต้นทำสำเร็จก็ต่อเมื่อได้ค้นคว้าและทดลองอย่างหนักแล้วเท่านั้น อย่างไรก็ตามการค้นคว้าอย่างนี้ก็มีประโยชน์ในบางครั้งเช่นกันคุณใช้วิธีข้างต้นไม่ได้แน่นอนถ้ามีไอพีแอดเดรสและรายการของไอเอสพีจำนวนมาก ถ้าไอพีนั้นเป็นของใครบาง



มีวิธีที่ดีกว่าในการหาสถานที่ตั้งของไอพีนั้นมั้ย ?
แน่นอน โดยการใช้วิธี DNS lookup
DNS lookup เปลี่ยนจาก hostname เป็นไอพีแอดเดรส ส่วน Reverse DNS Lookup
ก็เปลี่ยนจาก ไอพีแอดเดรสมาเป็น hostname ซึ่งจะบอกชื่อของระบบที่อยู่ห่างไกลเป็นตัวอักษรและตัวเลขและจุด เช่น
mail2.nol.net.in เป็นชื่อ hostname โดย 203.45.67.98 ไม่ใช่ hostname
โปรแกรมยูทิลิตี้สำหรับยูนิกซ์ซึ่งทำงานได้ดีมากและนิยมใช้กันคือ
'nslookup' สามารถใช้เพื่อ Reverse DNS lookup
ดังนั้นถ้าคุณมีเครื่องคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการยูนิกซ์หรือคุณสามารถใช้งานมันได้
ขั้นแรกคุณต้องหาว่าคำสั่ง nslookup อยู่ตรงไหนโดยการใช้คำสั่งต่อไปนี้:
' whereis nslookup '
เมื่อคุณรู้ว่ายูทิลิตี้นี้อยู่ที่ไหนในระบบแล้วคุณก็สามารถใช้เพื่อแปลงไอพีให้เป็นhostnameและในทางกลับกันได้แล้ว ดังตัวอย่างต่อไปนี้
$>nslookup IP Address
เราพิมพ์ไอพีแอดเดรสลงไป ในที่นี้เราพิมพ์ 203.94.12.01
(ซึ่งเป็นไอพีที่ผมต้องการหา)
$>nslookup 203.94.12.01
คุณจะเห็นผลลัพธ์ออกมาเป็น: mail2.nol.net.in ในตอนนี้ถ้าคุณดูที่ชื่อ hostname ที่เปลี่ยนมาจากไอพีแอดเดรสอย่างตั้งใจ จะเห็นได้ว่าส่วนหลังสุดจะบอกถึง ประเทศที่ระบบนั้นตั้งอยู่ จากตัวอย่างคุณเห็น '.in' ซึ่งบอกว่าระบบนี้อยู่ในประเทศอินเดีย ทุกประเทศมีรหัสประเทศของตัวเองซึ่งจะเห็นได้บ่อยมากกว่าชื่อท้ายสุดที่ไม่ใช่รหัสประเทศ วิธีนี้สามารถใช้เพื่อค้นหาว่าคน ๆ นั้น
อยู่ในประเทศใหนถ้าคุณรู้อีเมลของเขา เช่น ถ้าคนนั้นมีที่อยู่อีเมลลงท้ายด้วย .ph แสดงว่าเขาอาจจะอาศัยอยู่ใน ประเทศฟิลิปปินส์และถ้าลงท้ายด้วย .il เขาอยู่ในประเทศอิสราเอล ประเทศอื่น ๆ ก็ทำนองเดียวกันนี้ รหัสประเทศ โดยทั่ว ๆ ไปเช่น:
ประเทศ รหัสประเทศ

ออสเตรเลีย .au
อินโดนีเซีย .id
อินเดีย .in
ญี่ปุ่น .jp
อิสราเอล .il
สหราชอาณาจักร .uk