自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

簡易構(gòu)建適合風(fēng)控系統(tǒng)的IP庫

安全 應(yīng)用安全
ip作為識(shí)別和定位用戶的手段來說,對(duì)互聯(lián)網(wǎng)企業(yè)起著至關(guān)重要的作用,特別是在精準(zhǔn)營銷、反欺詐等業(yè)務(wù)方面。本文描述如何簡單的去構(gòu)建自己的ip地址庫。

[[175811]]

ip作為識(shí)別和定位用戶的手段來說,對(duì)互聯(lián)網(wǎng)企業(yè)起著至關(guān)重要的作用,特別是在精準(zhǔn)營銷、反欺詐等業(yè)務(wù)方面。本文描述如何簡單的去構(gòu)建自己的ip地址庫。

拿來主義

實(shí)際上,對(duì)大部分用戶來說,如果要求不高,完全可以拿現(xiàn)成的資源來使用:

  1. 老外的數(shù)據(jù)有maxmind,不過對(duì)國內(nèi)有些水土不服
  2. BAT級(jí)別的公司有開放api支持,但不提供離線庫
  3. 國內(nèi)也有第三方的優(yōu)秀提供商,比如ipip.net。他們提供免費(fèi)的離線庫,以及收費(fèi)的服務(wù)。是國內(nèi)比較專業(yè)的ip信息服務(wù)商,也有一篇高質(zhì)量的ip庫構(gòu)建文章講述了來龍去脈。普通使用,推薦直接使用該庫

吃飽了撐著

但對(duì)我們這樣的風(fēng)控公司來說,現(xiàn)成的資源有以下不足:

1.需要離線的數(shù)據(jù)庫。我們的產(chǎn)品是提供私有化的大數(shù)據(jù)風(fēng)控平臺(tái),由于涉及的信息比較敏感,需要隔絕外網(wǎng)來保證數(shù)據(jù)隱私性和安全性,api的方式不合適

2.需要定期更新的數(shù)據(jù)庫。ip地址經(jīng)常變化,需要精準(zhǔn)度高、更新頻繁的來源,評(píng)測(cè)下來,現(xiàn)存的第三方提供商還是存在數(shù)據(jù)覆蓋率和準(zhǔn)確性方面的不足

3.需要規(guī)范化的數(shù)據(jù)。我們需要手機(jī)、身份證、ip等多個(gè)維度的歸屬地,但數(shù)據(jù)來源多樣,比如:在很多場(chǎng)合,這種數(shù)據(jù)不一致沒關(guān)系,但我們的風(fēng)控引擎會(huì)拿來作比較計(jì)算,這種不一致會(huì)導(dǎo)致大量的計(jì)算偏差,引起誤報(bào)

  • 有的顯示“南京”, 有的顯示“南京市”
  • 有的顯示縣級(jí)市,有的顯示地級(jí)市
  • 有些城市改過名稱,有的顯示老名稱,有的顯示新名稱
  • 有的精確到市,有的精確到區(qū)
  • ...

4.有一些優(yōu)秀的數(shù)據(jù)源提供精確到區(qū)的數(shù)據(jù),但我們不需要采用。ip分配多變,而且運(yùn)營商分配頂多到市一級(jí),所以區(qū)縣級(jí)的數(shù)據(jù)準(zhǔn)確度會(huì)有很大挑戰(zhàn),影響風(fēng)控使用,建議是先棄掉

5.對(duì)于非主動(dòng)獲取的第三方數(shù)據(jù),習(xí)慣上不信任,需要去進(jìn)行評(píng)估和重新驗(yàn)證,貿(mào)然使用會(huì)有不良后果

所以,我們做了一些工作,來構(gòu)建自己的ip庫,方便我們的風(fēng)控系統(tǒng)使用。本文余下部分會(huì)描述我們的大概思路(具體實(shí)現(xiàn)會(huì)采用簡要方法來說明)。

ip庫原始數(shù)據(jù)獲取

作為一個(gè)非專業(yè)公司,不可能像 ipip.net 那樣花很大的力氣去撒點(diǎn)做網(wǎng)絡(luò)探測(cè)和分析,最省事的就是爬取網(wǎng)上的資源。這里舉一個(gè)簡單例子,拿局域網(wǎng)內(nèi)最大的搜索引擎公司作為數(shù)據(jù)來源。

寫一個(gè)一行的爬蟲:

整條命令通過shell管道來實(shí)現(xiàn),分別包括:

1.生成ip c段地址列表,由seq來生成相應(yīng)的數(shù)字

2.將數(shù)字轉(zhuǎn)為ip的字符串形式,由awk來轉(zhuǎn)換

3.利用curl向度娘發(fā)起請(qǐng)求

  • 請(qǐng)求地址可以直接在度娘頁面上請(qǐng)求后,看網(wǎng)絡(luò)后臺(tái)即可得到。這里不截圖展示了
  • 該請(qǐng)求比較簡單,只用替換一個(gè)ip作為參數(shù),直接xargs即可
  • 度娘沒有下限,可以暴力一些,所以通過xargs的多進(jìn)程特性,開啟多進(jìn)程支持(這里設(shè)為100)
  • 轉(zhuǎn)一下utf8
  • 直接把原始ip和結(jié)果輸出,直接awk即可

4.等。這個(gè)簡易爬蟲效率上并不高,而且需要執(zhí)行256*256*256=16777216次訪問,所以需要超過1天來完成。直接扔服務(wù)器上讓他慢慢跑吧

ip庫構(gòu)建

去重處理

原始數(shù)據(jù)拿來后,需要進(jìn)行整理,首先需要去掉重復(fù)信息,比如原始的數(shù)據(jù)是這樣的

這些c段緊靠在一起,完全沒有必要,再通過一行命令去做去重

說明:

1.首先按照ip進(jìn)行排序,由于之前有多進(jìn)程并發(fā)操作,結(jié)果數(shù)據(jù)會(huì)有亂序情況出現(xiàn),不利于去重

2.利用awk,只輸出歸屬地相同的鄰近行的第一行

3.最終得到的結(jié)果中,任意相鄰的兩行地址都不一樣

地理位置規(guī)范化

這里涉及到我們?nèi)ソǖ刂穾斓某踔?,由于有的?shù)據(jù)來源地理位置不統(tǒng)一,比如有的顯示市,有的顯示區(qū),有的縣級(jí)市地級(jí)市傻傻分不清楚。所以需要對(duì)所有歸屬地進(jìn)行規(guī)范化處理。

整個(gè)過程略復(fù)雜,我們通過算法去自動(dòng)生成和校正如下的映射表,然后再利用規(guī)范化算法得到統(tǒng)一的地址。整個(gè)過程略復(fù)雜,而且映射表數(shù)據(jù)需要不停的自動(dòng)化構(gòu)建來校準(zhǔn),就不展示更多的細(xì)節(jié)。

山東:

名稱: 山東省

城市:

濟(jì)南:

名稱: 濟(jì)南市

章丘:

名稱: 濟(jì)南市

青島:

名稱: 青島市

即墨:

名稱: 青島市

平度:

名稱: 青島市

膠南:

名稱: 青島市

萊西:

名稱: 青島市

淄博:

名稱: 淄博市

棗莊:

名稱: 棗莊市

滕州:

名稱: 棗莊市

東營:

名稱: 東營市

煙臺(tái):

名稱: 煙臺(tái)市

龍口:

名稱: 煙臺(tái)市

萊陽:

名稱: 煙臺(tái)市

萊州:

名稱: 煙臺(tái)市

蓬萊:

名稱: 煙臺(tái)市

ip庫生成

得到最終數(shù)據(jù)后,需要做最后打包。

一種最簡單的方式是直接將上述數(shù)據(jù)作為最終數(shù)據(jù),然后使用的時(shí)候讀入,塞進(jìn)一個(gè) treemap 即可。但這種方式效率比較低,生成的包也比較大,從而影響到使用地理庫的應(yīng)用。

我們采用了另一種方法,逆向了ipip.net的數(shù)據(jù)格式,用該格式打出自己的數(shù)據(jù)包,這里有幾個(gè)好處:

1.該數(shù)據(jù)格式比較精簡,能大大減少最終勝出的數(shù)據(jù)包大小

2.由于用戶比較多,網(wǎng)上有多語言的客戶端,方便借鑒(不過實(shí)際使用還需要自己重新優(yōu)化,網(wǎng)上和官方的庫效率還是較低;要用的話也盡量用官方的庫,有些網(wǎng)友的庫不正確)

3.由于我們會(huì)共享數(shù)據(jù)給一些關(guān)系好的客戶,所以采用標(biāo)準(zhǔn)的格式,他們只要替換數(shù)據(jù)文件即可

生產(chǎn)級(jí)別的ip庫構(gòu)建

上文描述了構(gòu)建的大概過程,但核心的部分由于篇幅限制采用了簡易方法進(jìn)行說明,如果要做生產(chǎn)級(jí)別的還需要注意一下方面:

1.更好的原始數(shù)據(jù)獲取

  • 百度的數(shù)據(jù)來源并不是最好的
  • 需要更健壯復(fù)雜的爬蟲系統(tǒng),簡單的bash腳本還是有玩具性質(zhì),進(jìn)拿來做展示用
  • 大部分時(shí)間只關(guān)心國內(nèi)數(shù)據(jù),可以利用現(xiàn)有的asn數(shù)據(jù)來識(shí)別國家,減少數(shù)據(jù)爬取的規(guī)模。網(wǎng)上也有國內(nèi)ip段的劃分
  • c段地址有點(diǎn)粗,不太準(zhǔn)確,而且爬取效率低,需要更聰明的爬取策略

2.持續(xù)的數(shù)據(jù)獲取,以及自動(dòng)化的校準(zhǔn)庫和ip庫構(gòu)建。由于ip數(shù)據(jù)變化頻率高,只有不停更新才能保證更好的精度

3.統(tǒng)一ip、手機(jī)、身份證、wifi地址等數(shù)據(jù)做統(tǒng)一的地理信息庫。單個(gè)維度的信息往往只能用來做展示,如果有強(qiáng)計(jì)算需求的話需要做統(tǒng)一的數(shù)據(jù)庫

本文轉(zhuǎn)自豈安科技微信公眾號(hào):bigsec,已取得授權(quán)

責(zé)任編輯:趙寧寧 來源: bigsec豈安科技
相關(guān)推薦

2016-11-16 18:49:21

2021-03-22 11:49:19

架構(gòu)運(yùn)維技術(shù)

2023-09-04 07:03:35

2023-05-29 08:04:08

2017-02-28 14:53:13

2016-10-13 16:49:11

2020-03-18 13:25:32

金融銀行智能風(fēng)控

2023-10-26 06:55:17

風(fēng)控系統(tǒng)應(yīng)用

2017-03-27 08:56:15

支付風(fēng)控模型

2023-09-15 07:28:02

2023-07-31 07:43:29

保險(xiǎn)反欺詐前沿技術(shù)

2019-05-07 16:30:18

TigerGraph數(shù)據(jù)庫金融風(fēng)控

2024-04-22 13:49:03

2021-09-01 18:37:36

大數(shù)據(jù)功能風(fēng)控

2025-01-03 08:26:17

2017-03-01 10:50:45

2017-04-21 14:04:50

互聯(lián)網(wǎng)

2024-05-17 08:16:08

數(shù)據(jù)建設(shè)風(fēng)控領(lǐng)域數(shù)據(jù)分析
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)