1. 程式人生 > >指令碼程式處理從ip獲取地理位置資訊

指令碼程式處理從ip獲取地理位置資訊

指令碼首先是從http://ip.taobao.com/的資料介面獲取IP地址的JSON格式的資料資訊,在使用一個python指令碼來把Unicode字元轉換成UTF-8編碼。

shell指令碼內容:

#!/bin/bash

ipInfo() {
  for i in `cat list`
  do
    TransCoding="/usr/bin/python TransCoding.py"
    JsonDate="curl -s http://ip.taobao.com/service/getIpInfo.php?ip=$i"
    country=`$JsonDate | sed 's/,/\n/g' | $TransCoding | tr -d "{}\"" | awk -F ":" 'NR==2{print $3}'
    area=`$JsonDate | sed 's/,/\n/g' | $TransCoding | tr -d "{}\"" | awk -F ":" 'NR==4{print $2}'
    region=`$JsonDate | sed 's/,/\n/g' | $TransCoding | tr -d "{}\"" | awk -F ":" 'NR==6{print $2}'
    city=`$JsonDate | sed 's/,/\n/g' | $TransCoding | tr -d "{}\"" | awk -F ":" 'NR==8{print $2}'
    county=`$JsonDate | sed 's/,/\n/g' | $TransCoding | tr -d "{}\"" | awk -F ":" 'NR==10{print $2}'
    isp=`$JsonDate | sed 's/,/\n/g' | $TransCoding | tr -d "{}\"" | awk -F ":" 'NR==12{print $2}'
    printf "%-18s\t%-8s\t%-8s\t%-8s\t%-8s\t%-8s\t%-8s\n" $i $country $isp $area $region $city $county
  done
}

printf "%-18s\t%-8s\t%-8s\t%-8s\t%-8s\t%-8s\t%-8s\n" IP地址 國家 運營商 區域 省份 城市 縣/區
echo -e "\e[1;33m======================================================================\e[0m"
ipInfo;

Python指令碼內容:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import re
import sys

def main():
    for line in sys.stdin:
        sys.stdout.write(re.sub(r'\\u\w{4}',
            lambda e: unichr(int(e.group(0)[2:], 16)).encode('utf-8'),
            line))

if __name__ == '__main__':
    main()

將兩個指令碼放在一個目錄下,再將需要分析的IP地址一行一個寫入在list

檔案中,執行 shell指令碼即可。

例項演示(分析最近暴力破解伺服器密碼的IP歸屬地):

cat /var/log/secure | awk '/Failed/ {print $(NF-3)}' | sort -u > list
[[email protected] ip]# ./ip.sh
IP地址                  國家    運營商  區域    省份    城市    縣/區
======================================================================
114.112.69.50           中國    華南    廣東省
118.244.14.49           中國    華北    北京市  北京市
122.72.120.109          中國    鐵通    西北    甘肅省
1.25.202.50             中國    聯通    華北    內蒙古自治區    包頭市
133.242.17.113          日本
134.255.243.11          德國
145.253.72.3            德國
188.116.55.211          波蘭
202.103.36.43           中國    電信    華中    湖北省  武漢市 
202.97.194.167          中國    聯通    東北    黑龍江省        哈爾濱市
203.122.59.88           印度
210.44.159.49           中國    教育網  華東    山東省  濟南市
211.232.30.253          韓國
218.248.42.131          印度
223.5.3.200             中國    阿里巴巴        華東    浙江省  杭州市
37.55.227.103           烏克蘭
38.69.193.39            美國
50.97.246.147           美國
66.161.209.154          美國
66.248.201.2            加拿大

相關推薦

指令碼程式處理ip獲取地理位置資訊

指令碼首先是從http://ip.taobao.com/的資料介面獲取IP地址的JSON格式的資料資訊,在使用一個python指令碼來把Unicode字元轉換成UTF-8編碼。 shell指令碼內容: #!/bin/bash ipInfo() { for i in

html5實現獲取地理位置資訊並定位

這裡主要講h5實現獲取地理位置資訊並定位功能,本文講解了原生h5,百度地圖,谷歌地圖等三種獲取地理資訊並定位的方法,需要的朋友可以參考下: h5提供了地理位置功能(Geolocation API),能確定使用者位置,我們可以藉助h5的該特性開發基於地理位置資訊的應用,本文集合實力給大家分享下如何

C#呼叫百度api,根據經度和緯度獲取地理位置資訊

        /// <summary>         /// 百度api 根據經緯度獲取地理位置         /// </summary>         /// <param name="lng">經度</param&g

AngularJS進階 二十 HTML5實現獲取地理位置資訊並定位功能

HTML5實現獲取地理位置資訊並定位功能 注:請點選此處進行充電! 前言      這篇文章主要介紹了HTML5實現獲取地理位置資訊並定位功能,本文講解了原生HTML5、百度地圖、谷歌地圖等三種獲取理位置資訊並定位的方法,需要的朋友可以參考下。 H

AngularJS進階(二十)HTML5實現獲取地理位置資訊並定位功能

HTML5實現獲取地理位置資訊並定位功能前言     這篇文章主要介紹了HTML5實現獲取地理位置資訊並定位功能,本文講解了原生HTML5、百度地圖、谷歌地圖等三種獲取理位置資訊並定位的方法,需要的朋友可以參考下。HTML5提供了地理位置定位功能(Geolocation AP

通過經緯度獲取地理位置資訊

最近做一個車載裝置app,裝置獲取北斗gps資料上傳的到後臺,app通過後臺提供的經緯度反取地理編碼位置,支援Google和百度。 獲取地理位置url //Google public Strin

程式 獲取地理位置-- wx.getLocation

話不多說直接上栗子   在 onShow裡面呼叫  onShow(){ this.getShopLocationPoint(); 在這裡呼叫是因為需要獲取 地址的時候可能使用者不授權,當取消授權的時候沒辦法拿到經緯度,此時我們要加判斷了 }   w

根據ip地址獲取地理位置及座標

根據ip獲取地理位置資訊,不用http和webservice介面,減少請求時間。我們可以利用了GeoLite2 庫,GeoLite2 資料庫是一個免費的 IP 地理定位資料庫,GeoLite2 Country 與 City 資料庫在每月的第一個週二更新。GeoLite2 AS

微信小程式獲取地理位置名稱

1.https://lbs.qq.com/qqmap_wx_jssdk/index.html,登入這個網址,申請祕鑰,並下載sdk 2.在小程式utils目錄下,新增qqmap-wx-jssdk.min.js 3.使用方法: // 引入SDK核心類 var QQ

程式獲取地理位置(經緯度以及選擇附近位置

html部分 <view> <button bindtap="getLocal" wx:if="{{isLocal}}" bindtap="getLocal">獲取位置</button> <button open

(ELK/EFK)之Fluentd日誌過濾解析與客戶端IP地址地理位置處理

1 背景與說明 日誌收集我們主要採用 ELK/EFK 方案,具體為什麼採用這種方案本篇不進行更多闡述;本篇主要針對把業務日誌進行解析並相關處理後推送到 Elasticsearch 中更方便進行檢索與資料統計檢視,本篇日誌推送源來自於 Docker 的 Flue

js獲取客戶端IP地理位置

[php] view plain copy  print? 1.<?php      2.function get_ip_place(){      3.$ip=file_get_contents("http://fw.qq.com/ipaddress");      4.$ip=str

微信小程式 獲取地理位置(顯示地圖並顯示經緯度)

然後我們來看一下js程式碼// pages/lol/lol.js Page({ /** * 頁面的初始資料 */ data: { }, modalcnt: function () { var that = this //獲取經緯度 wx.getLocat

微信小程式(十六)實戰——微信小程式的百度地圖的Api獲取地理位置

使用百度地圖的api來獲取地位位置的資訊 申請到ak後,在我的應用裡就能檢視到 第二步:引入JS模組 第三步:編輯程式碼 .js // 引用百度地圖微信小程式JSAPI

PHP 獲取 IP 地址所在的地理位置資訊/城市

類似的部落格很多,五花八門,來個自己封裝的函式,只需呼叫淘寶網 API 介面,即可獲取公網或區域網所在的地理位置資訊。 直接上程式碼,很簡單。 /** * 根據 Ip 獲取地址位置 */ fun

C#獲取計算機上網的公網ip地理位置

1、 //===========獲取計算機上網的公網ip:113.57.68.117 protected void Button2_Click(object sender, EventArgs e) {

java 根據IP地址獲取地理位置

1. 第三方API ps:下面引數ip:218.192.3.42 用於測試 淘寶API:http://ip.taobao.com/service/getIpInfo.php?ip=218.192.3.42 新浪API:http://int.dpool.sina.

java實現根據ip地址獲取地理位置

記錄學習使用,轉載地址:http://www.jb51.net/article/54287.htm 程式呼叫了“騰訊ip分享計劃”提供的介面,當然也可以改成ip138提供的介面,不過這兩個網站返回的字串格式有些不同,要分別做解析。 public String getAdd

php獲取使用者和伺服器ip及其地理位置詳解

瀏覽器訪問獲取使用者ip: /** * php獲取使用者真實 IP * 注意這種方式只適用於瀏覽器訪問時 */ function getIP() { if (isset($_SERVER)){ if (isset($_SERVER["HTTP_

微信小程式的百度地圖獲取地理位置

第一步:先到百度開放平臺http://lbsyun.baidu.com申請ak,並下載百度地圖的api(根據官方提供的順序進行即可,這裡不再複述)2.到微信公眾平臺的後臺裡設定配置request合法域名3.引入JS模組注意:小程式專案大小不超過1M,所以用 壓縮的js檔案4.