Lệnh IP to Country console


38

Có một lệnh console lấy địa chỉ IP làm đầu vào và hiển thị thông tin địa lý của nó như thành phố, quốc gia, ISP, v.v.?

Câu trả lời:


27

Lệnh là phần dễ, phần khó là có quyền truy cập vào cơ sở dữ liệu.

Ví dụ: Ubuntu có một cơ sở dữ liệu miễn phí với công cụ truy vấn dòng lệnh ( geoiplookup) trong gói. Nhưng nó chỉ hiển thị thông tin quốc gia và sử dụng cơ sở dữ liệu tĩnh (do đó lỗi thời). Công cụ này cũng có thể truy vấn cơ sở dữ liệu MaxMind GeoIP, nếu bạn có đăng ký ở đó.geoip-bin Cài đặt Geoip-bin

Có nhiều cơ sở dữ liệu GeoIP khác nhau mà bạn có thể tra cứu. Chúng thường có nghĩa là được xem qua trình duyệt web, nhưng bạn có thể tìm kiếm một tập lệnh cạo. Ví dụ: đây là tập lệnh ruby ​​để lấy dữ liệu từ cơ sở dữ liệu MaxMind . Lưu ý rằng việc nạo có thể trái với điều khoản dịch vụ của cơ sở dữ liệu.


1
chỉ cần sử dụng Geoiplookup ubfox và nó là đủ tốt.
BuZain

CentOS # yum cài đặt GeoIP
zmonteca

@StephenRauch Cảm ơn nhưng vui lòng sử dụng thay thế chính thức cho liên kết bit.ly bị hỏng: hostmar.co/software-small
Gilles 'SO- ngừng trở nên xấu xa'

1
@StephenRauch Liên kết apt chỉ hoạt động với trình cắm trình duyệt là một phần của cài đặt Ubuntu mặc định nhưng hiếm khi được cài đặt khác.
Gilles 'SO- ngừng trở nên xấu xa'

Đây cũng là trong Homebrew cho Mac:geoipupdate; geoiplookup ...
Pysis

58

Thủ thuật này thậm chí còn đẹp hơn và không yêu cầu bất kỳ gói bên ngoài nào:

curl ipinfo.io/23.66.166.151

2
Trong trường hợp ipinfo.io sẽ ngoại tuyến vào một ngày nào đó, ifconfig.me cung cấp một dịch vụ tương tự (cộng với API giống như REST). Nhưng ifonfo.io có vẻ nhanh hơn nhiều.
cedbeu

1
$ lưu trữ yourdomain.com | cắt -d '' -f 4 | curl ipinfo.io/$1
zmonteca 22/03/2016

2
ipinfo.io miễn phí cho 1000 yêu cầu / ngày (xem tài liệu về giá của họ ).
Matthieu

4
Một cách khác:curl ipinfo.io/$(dig +short yourdomain.com)
John Red

2
Nếu ai đó đã từng tăng trần trên ipinfo.io API (bạn có may mắn không?), Thì cũng có freegeoip.net có giới hạn 15.000 yêu cầu mỗi giờ. (Mà dưới mui xe dường như đang chạy Geoiplookup từ các câu trả lời khác)
samthecodingman

8

Đây là một lựa chọn tuyệt vời khác. Hướng dẫn tại đây: http://kbeezie.com/geoiplookup-command-line/

Ví dụ: trên Centos :

$ sudo yum install GeoIP GeoIP-data
$ geoiplookup 8.8.4.4

Hoạt động hoàn hảo.

Và tất nhiên, bạn luôn có thể thiết lập điều này như một cron:

$ /usr/bin/geoipupdate

geoipupdatelà một công cụ MaxMind, bạn cần đăng ký và khóa cấp phép /etc/GeoIP.conf. Tôi không thể sử dụng giải pháp thay thế miễn phí ( Đã nhận được mã trạng thái HTTP không mong muốn là 401 ).
Pablo A

-1

Hoặc sử dụng whois

$ whois 8.8.8.8 |grep country -i -m 1 |cut -d ':' -f 2 |xargs US

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.