最全的IMSI獲取手機號段、歸屬地java程式碼
IMSI獲取手機號段、歸屬地
IMSI國際移動使用者識別碼(IMSI:International Mobile Subscriber Identification Number)是區別移動使用者的標誌,儲存在SIM卡中,可用於區別移動使用者的有效資訊。其總長度不超過15位,同樣使用0~9的數字。其中MCC是移動使用者所屬國家代號,佔3位數字,中國的MCC規定為460;MNC是移動網號碼,由兩位或者三位數字組成,中國移動的行動網路編碼(MNC)為00;用於識別移動使用者所歸屬的行動通訊網;MSIN是移動使用者識別碼,用以識別某一行動通訊網中的移動使用者。簡單的說IMSI就是手機號碼的標識。
先看反向程式碼
public static String getMobileAll(String imsi){
String s130 = "^46001(\\d{3})(\\d)[0,1]\\d+";
String s131 = "^46001(\\d{3})(\\d)9\\d+";
String s132 = "^46001(\\d{3})(\\d)2\\d+";
String s134 = "^460020(\\d)(\\d{3})\\d+";
String s13x0 = "^46000(\\d{3})([5,6,7,8,9])\\d+";
String s13x = "^46000(\\d{3})([0,1,2,3,4])(\\d)\\d+" ;
String s150 = "^460023(\\d)(\\d{3})\\d+";
String s151 = "^460021(\\d)(\\d{3})\\d+";
String s152 = "^460022(\\d)(\\d{3})\\d+";
String s155 = "^46001(\\d{3})(\\d)4\\d+";
String s156 = "^46001(\\d{3})(\\d)3\\d+";
String s157 = "^460077(\\d)(\\d{3})\\d+";
String s158 = "^460028(\\d)(\\d{3})\\d+" ;
String s159 = "^460029(\\d)(\\d{3})\\d+";
String s147 = "^460079(\\d)(\\d{3})\\d+";
String s185 = "^46001(\\d{3})(\\d)5\\d+";
String s186 = "^46001(\\d{3})(\\d)6\\d+";
String s187 = "^460027(\\d)(\\d{3})\\d+";
String s188 = "^460078(\\d)(\\d{3})\\d+";
String s1705 = "^460070(\\d)(\\d{3})\\d+";
String s170x = "^46001(\\d{3})(\\d)8\\d+";
String s178 = "^460075(\\d)(\\d{3})\\d+";
String s145 = "^46001(\\d{3})(\\d)7\\d+";
String s182 = "^460026(\\d)(\\d{3})\\d+";
String s183 = "^460025(\\d)(\\d{3})\\d+";
String s184 = "^460024(\\d)(\\d{3})\\d+";
//電信的,下面的還沒有找到規則
String s180 = "^46003(\\d)(\\d{3})7\\d+";
String s153 = "^46003(\\d)(\\d{3})8\\d+";
String s189 = "^46003(\\d)(\\d{3})9\\d+";
String[] result = compile(s130,imsi);
if(result != null && result.length==2){
return "130"+result[1]+result[0];
}
result = compile(s131,imsi);
if(result != null && result.length==2){
return "131"+result[1]+result[0];
}
result = compile(s132,imsi);
if(result != null && result.length==2){
return "132"+result[1]+result[0];
}
result = compile(s134,imsi);
if(result != null && result.length==2){
return "134"+result[0]+result[1];
}
result = compile(s13x0,imsi);
if(result != null && result.length==2){
return "13"+result[1]+"0"+result[0];
}
result = compile(s13x,imsi);
if(result != null && result.length==3){
return "13"+(Integer.parseInt(result[1])+5)+result[2]+result[0];
}
result = compile(s150,imsi);
if(result != null && result.length==2){
return "150"+result[0]+result[1];
}
result = compile(s151,imsi);
if(result != null && result.length==2){
return "151"+result[0]+result[1];
}
result = compile(s152,imsi);
if(result != null && result.length==2){
return "152"+result[0]+result[1];
}
result = compile(s155,imsi);
if(result != null && result.length==2){
return "155"+result[1]+result[0];
}
result = compile(s156,imsi);
if(result != null && result.length==2){
return "156"+result[1]+result[0];
}
result = compile(s157,imsi);
if(result != null && result.length==2){
return "157"+result[0]+result[1];
}
result = compile(s158,imsi);
if(result != null && result.length==2){
return "158"+result[0]+result[1];
}
result = compile(s159,imsi);
if(result != null && result.length==2){
return "159"+result[0]+result[1];
}
result = compile(s147,imsi);
if(result != null && result.length==2){
return "147"+result[0]+result[1];
}
result = compile(s185,imsi);
if(result != null && result.length==2){
return "185"+result[1]+result[0];
}
result = compile(s186,imsi);
if(result != null && result.length==2){
return "186"+result[1]+result[0];
}
result = compile(s187,imsi);
if(result != null && result.length==2){
return "187"+result[0]+result[1];
}
result = compile(s188,imsi);
if(result != null && result.length==2){
return "188"+result[0]+result[1];
}
result = compile(s1705,imsi);
if(result != null && result.length==2){
return "170"+result[0]+result[1];
}
result = compile(s170x,imsi);
if(result != null && result.length==2){
return "170"+result[1]+result[0];
}
result = compile(s178,imsi);
if(result != null && result.length==2){
return "178"+result[0]+result[1];
}
result = compile(s145,imsi);
if(result != null && result.length==2){
return "145"+result[1]+result[0];
}
result = compile(s182,imsi);
if(result != null && result.length==2){
return "182"+result[0]+result[1];
}
result = compile(s183,imsi);
if(result != null && result.length==2){
return "183"+result[0]+result[1];
}
result = compile(s184,imsi);
if(result != null && result.length==2){
return "184"+result[0]+result[1];
}
result = compile(s180,imsi);
if(result != null && result.length==2){
return "180"+result[0]+result[1];
}
result = compile(s153,imsi);
if(result != null && result.length==2){
return "153"+result[0]+result[1];
}
result = compile(s189,imsi);
if(result != null && result.length==2){
return "189"+result[0]+result[1];
}
return "";
}
private static String[] compile(String reg,String imsi){
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(imsi);
if(matcher.find()){
String[] sArr = new String[matcher.groupCount()];
for(int i=0;i<matcher.groupCount();i++){
sArr[i] = matcher.group(i+1);
}
return sArr;
}
return null;
}
public static void main(String[] args) { System.out.println(getMobileAll("460021234512345"));
}
這一步只是知道了手機號段,歸屬地可以先下載歸屬地資料庫,然後歸屬地就有了,免積分下載
為什麼沒有電信的?因為我也沒找到電信的規則!
相關推薦
最全的IMSI獲取手機號段、歸屬地java程式碼
IMSI獲取手機號段、歸屬地 IMSI國際移動使用者識別碼(IMSI:International Mobile Subscriber Identification Number)是區別移動使用者的標誌,儲存在SIM卡中,可用於區別移動使用者的有效資訊。其總長度
Python3(phone)模組獲取手機號歸屬地、區號、運營商等
from phone import Phone import xlrd import xlwt def Get_Excel_data(): file = 'Tel.xlsx' #電話號碼儲存的excle表 re1 = xlrd.open_workbook(file)
目前最全的獲取IMSI方法
private Integer simId_1 = 0; private Integer simId_2 = 1; private String imsi_1 = ""; private String imsi_2 = ""; private String ime
移動、聯通、電信三大運營商手機號段大全 附手機號正則表示式
正則表示式: ^((+86)?(13\d|14[5-9]|15[0-35-9]|166|17[0-8]|18\d|19[8-9])\d{8})$
【轉載】史上最全:TensorFlow 好玩的技術、應用和你不知道的黑科技
tube map 高性能 知識 seq 出現 執行時間 mes lex 【導讀】TensorFlow 在 2015 年年底一出現就受到了極大的關註,經過一年多的發展,已經成為了在機器學習、深度學習項目中最受歡迎的框架之一。自發布以來,TensorFlow 不斷在完善並增加新
delphi for android 獲取手機號
cti content tex BL1 string tlab man ria sender delphi for android 獲取手機號 uses System.SysUtils, System.Types, System.UITypes, System.
史上最全的 Sublime Text 漢化、外掛安裝合集
原文地址: 史上最全的 Sublime Text 漢化、外掛安裝合集 https://www.jianshu.com/p/ecc241f22ed5 原文作者寫的很不錯的,另外我加一個sublime3的破解版的地址:請再安全環境下點選http:
最全的獲取元素寬高及位置的方法
offsetWidth / offsetHeight offsetWidth HTMLElement.offsetWidth 是一個只讀屬性,返回一個元素的佈局寬度。一個典型的(各瀏覽器的offsetWidth可能有所不同)offsetWidth是測量包含元素的邊框(border)、水平線上的內邊距(pa
小程式--一鍵獲取手機號,控制按鈕顯示與隱藏
點選按鈕,呼叫後臺介面獲取到使用者的手機號,將獲取到的手機號渲染到input框裡面,同時,按鈕消失,即當input框不為空的時候,按鈕消失;input框為空的時候,按鈕顯示。 <view class="addAddress addAddressLine"> &
小程式獲取手機號
getmobile: function(e) { let that = this; wx.request({ url: that.data.api + '/toker/getphone/getmobile/', data: { 'encryptedData': e.
-獲取手機號地址
import android.annotation.SuppressLint; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; imp
微信開發之小程式獲取手機號授權登入
小程式中有很多地方都會用到註冊使用者資訊的地方,使用者需要填寫手機號等,有了這個元件可以快速獲取微信繫結手機號碼,無須使用者填寫。1.getPhoneNumber這個元件通過button來實現(別的標籤無效)。將button中的open-type=“getPhoneNumbe
python爬取手機號段(電信199號段)
# -*- coding: GBK -*- """ 爬取手機號段歸屬地 """ import time import requests from lxml import etree ti
手機號段正則表示式 (2019-01 最新)
ி 前言 溫馨提示: 首先,有一點注意的是,手機號這種東西會不斷更新(時間跨度比較長,具體規則估計得去工信部檢視) 所以,個人認為網上流傳的大多數介紹其 正則表示式 的文章,是無法保證規範與時效性的 總結來說,如果想要保障嚴謹的規範性,就無法保證時效性, 建議花個十幾分鍾看一
虛擬運營商165全新號段正式上市,這也是第一個16×級別的手機號段。
1月6日,虛擬運營商165全新號段正式上市,這也是第一個16×級別的手機號段。 165號段由與中國移動開展行動通訊轉售業務合作的17家虛擬運營商共同運營,該號段的釋出標誌著國內移動轉售產業首個16×億級號段正式上市運營,同時,虛擬運營商165號段品牌也是國內移動轉售產業由多家虛擬運營商聯合釋
JS中正則表示式詳解及最基本的判斷手機號,郵箱,身份證
首先最基本的符號型別及含義整理一下。 1,最基本的符號:^ $ * + ? ^ 代表字串的開始位置 &nbs
簡單正則表示式獲取手機號
首先匯入re模組# _*_coding:utf-8 _*_ import re再得到原始資料# 模擬手機號碼匹配 # 給定原始資料 myphone = "asdf15297901267asdf" 得到資料後根據個人需要來設定匹配表示式# 提供匹配規則 \d表示匹配一個數字
微信獲取手機號授權登入
1. <button bindgetphonenumber="getPhoneNumber" open-type="getPhoneNumber" class='button-hover'>確認授權</button> 2. getPhoneNumber: fu
斐訊K1&K2刷機韌體教程!最新最全整理版!(小米路由、newifi通用)
前瞻: 工具的準備:電腦安裝[telnet客戶端]、下載安裝(或解壓Tftpd)、WinPcap(這是用於BreedEnter可以正常開啟的元件,必須安裝,不安裝無法開啟BreedEnter)、BreedEnter。 原生的韌體:斐訊V1版本韌體,SW_K1_70300
第十例:獲取手機號獲取本機通訊錄中儲存的姓名
String sPhone = "xxxx"; //查詢的手機號 List<contactinfo> contactinfoList = new ArrayList<contactinfo>(); S