Địa chỉ IP có thể cho ta biết những thông tin gì, những con số IP đó có nói lên điều gì cho bạn ? Bạn có biết rằng bạn có thể nhìn vào IP để đoán được thông tin về một ai đó, ở một nơi nào đó hay IP đó đang thuộc máy chủ nào ?
Trên thực tế, cách xây dựng cấu trúc địa chỉ IP (đúng hơn là toàn bộ giao thức TCP/IP) không cho phép người ta chỉ nhìn vào IP mà biết được vị trí địa lý của hệ thống đang có địa chỉ IP đó. Trong địa chỉ IP không có phần nào cho bạn biết ngay máy tính đang được gán địa chỉ đó nằm ở nước nào. Vì thế, tất cả các câu nói kiểu như “phần thứ hai hay thứ ba của một địa chỉ IP thay thế cho nước mà hệ thống đang được gán IP đó hoạt động” chỉ là chuyện hoang đường.
Tuy nhiên, đúng là đôi khi, một người, chỉ cần nhìn vào 3 nhóm chữ số (octet) đầu tiên của một địa chỉ IP, có thể đoán hay suy diễn ra được hệ thống đang dùng địa chỉ IP đó nằm tại nước nào, thậm chí tại thành phố nào. Các bạn hãy xem minh hoạ sau để hiểu được điều này. Tuy nhiên, trước khi xem xét ví dụ, chúng ta thử tìm hiểu xem chính xác địa chỉ IP được gán cho người sử dụng như thế nào.
Đầu tiên, ISP (Internet Service Provider: nhà cung cấp dịch vụ Internet) của bạn đăng ký với cơ quan quản lý địa chỉ Internet và xin được cấp một dãy địa chỉ IP nhất định, mà sau đó các khách hàng (những người quay số kết nối vào server của ISP) sẽ được gán một trong những địa chỉ IP thuộc dãy này. Phần lớn các ISP được gán nhóm địa chỉ mạng lớp C. Một địa chỉ mạng lớp C bao gồm tiền tố mạng 24-bit (ba octet đầu tiên của một địa chỉ IP) và một số mạng 8-bit (octet cuối cùng). Nó thường được biết đến là “24’s” và được phần lớn các ISP sử dụng.
Giống như trong đời thường, một người có một địa chỉ nhà và có số điện thoại mà người khác có thể liên lạc với anh ta qua địa chỉ và số điện thoại đó, một máy tính khi nối mạng được gán một địa chỉ IP duy nhất được sử dụng để liên lạc với máy tính đó. Nếu diễn tả theo hệ thập phân thì địa chỉ IP gồm 32 bit được chia thành 4 octet, dĩ nhiên, mỗi octet 8 bit.
Liệu địa chỉ IP đó có cho ta biết thông tin gì không? Hay những con số đó có nói lên điều gì không?
Hãy thử xem địa chỉ IP của một máy tính: 202.144.49.110. Phần trước dấu chấm đầu tiên (tức là số 202) gọi là “số Mạng” hay còn gọi là “tiền tố Mạng” (Network prefix hoặc Network ID). Đây chính là số mạng mà máy chủ kết nối vào. Phần thứ hai (144) là chỉ số của máy chủ trong mạng nói trên. Điều đó có nghĩa là các máy tính trong cùng một mạng có phần “số mạng” (Network number hay Network ID) trong địa chỉ IP giống nhau. Người ta phân ra các lớp địa chỉ IP để có thể phân bố mạng linh hoạt hơn tuỳ theo độ lớn của mạng.
Lớp A ( /8 Prefixes) 1.xxx.xxx.xxx đến 126.xxx.xxx.xxx
Lớp B ( /16 Prefixes) 128.0.xxx.xxx đến 191.255.xxx.xxx
Lớp C ( /24 Prefixes) 192.0.0.xxx đến 223.255.255.xxx
Các lớp khác nhau nói trên đươc giải thích rõ bởi các nội dung tóm tắt dưới đây:
Mỗi địa chỉ IP trong lớp A bao gồm 1 tiền tố mạng 8 bit (network prefix) và 1 số máy chủ 24 bit (host number). Lớp địa chỉ này là lớp nguyên khai, các địa chỉ IP này cũng được viết là “/8” hay chỉ đơn giản là “8” vì chúng có tiền tố mạng 8 bit.
Địa chỉ IP trong lớp B có tiền tố mạng 16 bit và số máy chủ 16 bit. Nó còn được gọi là “16”.
Một địa chỉ IP trong lớp C bao gồm tiền tố mạng 24 bit và 1 số máy chủ 8 bit. Chúng còn được gọi là “24” và được cấp cho nhiều ISP nhất.
Số người sử dụng Internet ngày càng tăng làm cho cơ quan quản lý địa chỉ Internet gặp nhiều khó khăn hơn trong việc định tuyến các địa chỉ IP. Bảng phân phối các địa chỉ IP mở rộng khiến các nhà chức trách buộc phải xin một địa chỉ mạng Internet mới trước khi triển khai một hệ thống mạng trong địa phương mình. Đây chính là lúc Sub-netting ra đời.
Đôi khi địa chỉ IP cung cấp cho chúng ta nhiều điều hơn là đơn thuần chỉ là dãy. Nhưng làm cách nào để biết được vị trí địa lý hay các thông tin khác về hệ thống đó mà chỉ thông qua địa chỉ IP có được?
Nếu như nhà cung cấp dịch vụ Internet của bạn là một là cung cấp lớn và cấp cho bạn một địa chỉ IP động một lần bạn kết nối Internet, rất có thể bạn sẽ nhận thấy trong các lần bạn kết nối Internet, địa chỉ IP mà bạn được cấp sẽ có 24 bit đầu là giống nhau, và 8 bit cuối sẽ thay đổi. Điều này có thể giải thích bằng sự có mặt của sub-netting, vì khi đó, cấu trúc địa chỉ IP sẽ có dạng: xxx.xxx.zzz.yyy. Trong đó, 2 phần đầu là các số tiền tố mạng, zzz là số mạng con (phụ – subnet) và yyy là số của máy tính đang kết nối. Thế có nghĩa là bạn luôn kết nối tới một subnet trong một mạng máy tính. Vì thế, ba phần đầu trong địa chỉ IP của bạn sẽ luôn giữ nguyên mỗi lần bạn kết nối Internet thông qua nhà cung cấp dịch vụ của bạn, chỉ có phần cuối cùng là thay đổi.
Ví dụ, một ISP xyz nào đó được cấp một dãy địa chỉ mạng là: 203.98.12.xx thì mỗi khi bạn kết nối Internet qua ISP này và được cấp một địa chỉ IP, ba phần đầu của IP của bạn sẽ là 203.98.12. Như vậy, về cơ bản, mỗi ISP được cấp một dãy các địa chỉ riêng biệt mà sau đó nó sẽ gán cho các khách hàng sử dụng dịch vụ Internet của mình. Tất cả các thuê bao hay những người kết nối internet qua cùng một nhà cung cấp dịch vụ sẽ nằm cùng trong dãy địa chỉ IP mà ISP đó được cấp. Điều này cũng có nghĩa tất cả những thuê bao của một ISP có thể sẽ được cấp những IP mà có 3 phần đầu tiên giống nhau khi kết nối Internet.
Điều này cũng có nghĩa là nếu bạn tìm hiểu và thống kê thật nhiều, bạn có thể biết được một người đang sử dụng dịch vụ Internet của ISP nào mà chỉ cần nhìn vào IP của người đó. Tên của ISP sau đó có thể xác định người này đang ở thành phố và quốc gia nào. Đúng không? Hãy lấy một ví dụ để bạn thấy rằng tuy việc này hơi lằng nhằng nhưng nó dễ dàng như thế nào (tất nhiên là sau khi bạn đã tìm và thống kê đủ nhiều các ISP).
Ví dụ, tại một quốc gia có 3 nhà cung cấp dịch vụ Internet và lần lượt được cung cấp các dãy địa chỉ như sau:
ISP I 203.94.47.xx
ISP II 202.92.12.xx
ISP III 203.91.35.xx
Bây giờ, ví dụ biết được địa chỉ IP của một người trên mạng là: 203.91.35.12, thì có thể đoán ngay rằng người đó đang sử dụng dịch vụ của ISP III để kết nối Internet. Bạn có thể nói rằng một thằng ngốc cũng có thể nói được như thế. Ừ thì cũng đúng, nhưng bạn phải biết rằng với cách này, bạn phải thu thập được đầy đủ tên các ISP và bảng phân phối địa chỉ IP trong tay. Thế, điều muốn nói ở đây là phương pháp trên chỉ thành công sau khi đã nghiên cứu và thống kê rất nhiều. Và theo ý chủ quan, những thống kê như vậy cũng sẽ hữu ích trong các việc khác nữa.
Hơn nữa, cách này không phải lúc nào cũng áp dụng thành công nếu như xét trên một quy mô lớn hơn. Nhỡ địa chỉ IP mà bạn có được lại là của một người sống trong căn lều tuyết tận cực Bắc thì sao? Bạn có thể sẽ chả có được tất cả địa chỉ mạng được phân phối của mọi ISP trên thế giới này đâu.
Lưu ý là trong trường hợp trên, bạn cũng có thể biết hệ thống có IP này ở thành phố nào, vì phần lớn các ISP sử dụng các địa chỉ IP khác nhau ở các thành phố khác nhau. Cũng như thế, một số ISP chỉ hoạt động tại một thành phố mà thôi. Vậy thì có cách nào hay hơn để biết được vị trí địa lý của một IP không? Có chứ, chìa khóa chính là việc tra cứu DNS ngược.
Cũng giống như DNS look up tra cứu và chuyển một tên miền thành địa chỉ IP, một lệnh tra cứu DNS ngược chuyển địa chỉ IP của một máy tính thành một tên miền. Tên miền ở đây là địa chỉ của một hệ thống được thể hiện bằng chữ abc, cùng với số và dấu phân cách, ví dụ mail2.bol.net.in là một tên miền, và 203.45.67.98 không được coi là một tên miền.
Công cụ thông dụng và tuyệt vời “nslookup” của Unix có thể được dùng để tra ngược lại DNS. Nếu bạn dùng *nix hoặc có một shell account, việc đầu tiên là bạn tìm xem công cụ nslookup được giấu ở đâu với lệnh “whereis nslookup”. Một khi bạn đã biết được công cụ này ở chỗ nào, bạn có thể dùng nó để tra DNS hoặc tra ngược các DNS. Chúng ta có thể sử dụng “nslookup” để tra ngược một DNS bằng cách gõ vào địa chỉ IP của máy sau dấu nhắc lệnh
Cấu trúc:
$>nslookup IP Address
Ví dụ, thay vì gõ vào từ “IP Address”, chúng ta gõ vào 203.94.12.01 (IP muốn tìm hiểu)
$>nslookup 203.94.12.01
Sau đó, có thể bạn sẽ nhận được câu trả lời có dạng như: mail2.bol.net.in (Địa chỉ IP và máy tính trong bài được đưa ra với mục đích minh họa, chúng có thể không tồn tại).
Bây giờ, nếu bạn nhìn kỹ vào mạng máy tính mà việc tra ngược DNS cho kết quả, bạn sẽ thấy phần cuối sẽ cho ta biết thông tin mạng máy tính đó đặt ở nước nào. Thấy không, phần “.in” cho ta biết, mạng này nằm ở Ấn Độ (India). Tất cả các quốc gia đều có một mã quốc gia, mã này phần lớn sẽ xuất hiện trong phần cuối của một máy tính hay một hệ thống trong đặt trong quốc gia đó. Cách này cũng có thể cho bạn biết một người ở nước nào nếu biết được địa chỉ email của người đó. Ví dụ, nếu một người có địa chỉ email kết thúc với .ph thì có thể người này sống ở Philippin và nếu địa chỉ email có đuôi là .il thì rất có thể anh ta sống ở Israel, tương tự như thế. Một số mã quốc gia thường thấy là:
Country Code
Australia .au
Indonesia .id
India .in
Japan .jp
Israel .il
Britain .uk
Muốn biết thêm chi tiết về mã quốc gia, bạn thử ghé qua:
http://www.alldomains.com
http://www.iana.org/domain-names.html
Người dùng Windows có thể thực hiện lệnh tra ngược DNS qua Samspade tại www.samspade.org
Một cách khác để biết được chính xác vị trí địa lý của một địa chỉ IP là tận dụng cơ sở dữ liệu của WHOIS. Cơ sở dữ liệu WHOIS về cơ bản là một CSDL chính bao gồm tên và địa chỉ liên lạc của người sở hữu một tên miền. Vì vậy, về cơ bản, bạn chỉ cần thực hiện một lệnh whois, cung cấp cho nó một hostname mà bạn muốn biết thêm thông tin. Dịch vụ whois này sẽ cho bạn những thông tin mà nó có trong CSDL.
Với cách này, bạn có thể có được thông tin tương đối chính xác về một địa chỉ IP hay một máy tính nào đó, tuy nhiên, cũng có thể nó chả có ích gì nếu bạn muốn tìm được địa điểm chính xác của một địa chỉ IP động. Nhưng, cần phải nhắc lại là ít nhất bạn cũng sẽ biết được ISP đang kết nối Internet đó nằm ở thành phố nào.
Bạn có thể dùng WHOIS trên http://allwhois.com hoặc có thể gõ trực tiếp dòng lệnh vào thanh địa chỉ của browser. Ví dụ: http://205.177.25.9/cgi-bin/whois?abc.com
Chú ý, bạn phải thay abc.com bằng tên miền mà bạn muốn sử dụng lệnh whois để tra. Dùng cách này, bạn không thể biết được địa chỉ liên lạc của một người nếu địa chỉ IP mà bạn dùng để truy tìm dấu vết anh ta lại phụ thuôc vào ISP của anh ta. Vì thế, bạn phải biết được tên miền (được chính người này đăng ký dưới tên anh ta) không thì bạn chỉ biết được tên thành phố (hoặc ISP) mà người đó đã đăng ký theo chúng .
Ví dụ như một người đã đăng ký một tên miền và bạn muốn qua tên miền này tìm xem anh ta đang ở đâu. Nhưng phải lưu ý một điểm là nếu anh ta này dùng một trong hàng loạt những dịch vụ đăng ký tên miền miễn phí như kiểu Namezero.com, thì tên miền này có thể đăng ký trên danh nghĩa công ty chứ không phải người này. Vì thế, kết quả sau khi whois sẽ là tên của ISP đó chứ không phải là tên của người đăng ký này.
Theo HVA