Tìm địa chỉ qua IP

893

Ứng dụng tìm địa chỉ thực tế dựa vào địa chỉ IP, mặc định sẽ tìm theo địa chỉ IP của bạn.

173.252.79.16 Là địa chỉ IP của bạn

IP 173.252.79.16
Thành phố Mountain View
Quốc gia US
Mã bưu chính 94035
Múi giờ America/Los_Angeles
Tọa độ 37.3860,-122.0838

Dạo gần đây (thời điểm mình viết bài này) thì trên mạng xã hội đang rộ lên câu chuyện của một anh chàng “mặt chó” nào đó ở nước ngoài có thể nhận biết địa chỉ thực của người khác dựa vào địa chi IP. Sau đó hắn sử dụng địa chỉ tìm được để đe dọa nạn nhân, ép họ phải làm mấy thử thách tiêu cực.

Chi tiết các bạn có thể đọc ở đây: https://kenh14.vn/giai-ma-nhan-vat-jonathan-galindo-ke-nguy-hiem-dang-gay-sot-cong-dong-mang-the-gioi-20200706111303957.chn

Câu chuyện này không chỉ nhận được sự quan tâm của xã hội nói chung, mà còn nhận được sự quan tâm của anh em AI TI (IT) nói riêng. Khi mà tên này chỉ cần chỉ IP là có thể tìm ra được địa chỉ thực của nạn nhân. Rất nhiều anh em developer tò mò, đặt câu hỏi tại sao hắn làm được như thế. Thì hôm nay mình viết bài này để cho các bạn thấy rằng làm việc này không khó chút nào.

Bài viết này được chia làm 2 nội dung chính:

  • Làm sao để lấy được địa chỉ IP
  • Làm sao từ IP tìm ra địa chỉ thực.

I. Lấy địa chỉ IP như thế nào

Không khó để lấy được địa chỉ IP, vì IP là cái gì đó công khai. Mình có thể dễ dàng lấy được địa chỉ IP của người đang truy cập dựa vào một đoạn code PHP đơn giản sau:

<?php

function getClientIp () {
    $ipaddress = '';

    if (isset($_SERVER['HTTP_CLIENT_IP'])) {
        $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } elseif (isset($_SERVER['HTTP_X_FORWARDED'])) {
        $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
    } elseif (isset($_SERVER['HTTP_FORWARDED_FOR'])) {
        $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
    } elseif (isset($_SERVER['HTTP_FORWARDED'])) {
        $ipaddress = $_SERVER['HTTP_FORWARDED'];
    } elseif (isset($_SERVER['REMOTE_ADDR'])) {
        $ipaddress = $_SERVER['REMOTE_ADDR'];
    }

    return $ipaddress;
}

$myIp = getClientIp(); // Lấy IP của người đang truy cập

OK, vậy là đã xong một nửa, chúng ta đã lấy được IP của người đang truy cập. Bước tiếp theo chúng ta sẽ đi tìm địa chỉ thực tế của IP này.

II. Tìm địa chỉ qua IP

Mặc dù bạn không thể tìm trực tiếp địa chỉ thực qua địa chỉ IP, nhưng lại có rất nhiều bên thứ ba cung cấp dịch vụ này. Mình có thử search google và tìm ra thằng ipinfo.io – là bên cung cấp dịch vụ xác định vị trí dựa vào địa chỉ IP. Mình đăng ký một tài khoản để sử dụng API cho ipinfo cung cấp và tạo nên cái tool trên.

Bạn cũng có thể lên ipinfo.io để tra cứu trực tiếp, hoặc đăng ký tài khoản để sử dụng API như mình

Thông tin mà ipinfo.io trả về khá đầy đủ, bao gồm các thông tin quan trọng như thành phố, bang, quốc gia, mã bưu chínhtọa độ – mình cho rằng đây là thông tin đắt giá nhất, vì từ tọa độ, bạn có thể tìm ra địa chỉ chi tiết.

Bạn có thể tham khảo công cụ này – công cụ tìm địa chỉ dựa vào tọa độ.

Mình có thử với tọa độ được trả về từ IP của mình, thì thấy kết quả không chính xác 100%, nhưng chính xác trong phạm vi 7km.

Lưu ý

Theo nhiều bạn phản hồi thì kết quả vị trí từ IP có thể sai lệch hoàn toàn, kiểu địa điểm thực thì ở Hà Nội nhưng theo IP lại ra Cà Mau. Việc sai lệch là điều rất bình thường vì có thể do dịch vụ của ipinfo không chính xác với tất cả IP. Nhưng đừng quên rằng:
– Vẫn có bạn ra kết quả tương đối chính xác (như mình, trong phạm vi 7km). Vì vậy đừng chủ quan là người khác không xác định được vị trí của bạn.
– Ipinfo chỉ là một dịch vụ để mình demo tính năng này, có thể có nhiều dịch vụ khác chính xác hơn.

III. Làm sao để ẩn địa chỉ IP

Địa chỉ IP thì không thể ẩn (hoặc mình không biết), nhưng địa chỉ IP có thể làm giả, giống như việc nhiều bạn vẫn fake IP để truy cập vào pornhub khi VN chặn truy cập các trang web đen vậy.

Hiện nay có rất nhiều phần mềm hỗ trợ fake IP, cả trên máy tính lẫn điện thoại đều có. Cá nhân mình đang sử dụng hotspot shield và thấy khá ổn. Bạn cũng có thể tham khảo.

Nhưng nhớ rằng fake IP không giúp bạn ẩn hoàn toàn IP của mình, vì ít nhất bên cung cấp dịch vụ fake IP (như hotspot shield) vẫn lưu trữ IP thực của bạn.

III. Lời kết

Một bài viết ngắn gọn, nhưng mang tính thời sự. Qua bài viết này, mình không chỉ muốn chia sẻ về cách tìm địa chỉ qua địa chỉ IP, mà còn nhắc nhở các bạn rằng thế giới Internet tuy thú vị nhưng cũng rất nguy hiểm. Vì vậy hãy duyệt web an toàn nhé.