嚴正聲明:該工具主要是爲了讓你們更好的瞭解GSM網絡的工做原理而設計開發的,請不要用於惡意目的!css
IMSI-catcher是一個能夠幫助你發現附近手機的IMSI號碼,國家,品牌和運營商等信息的工具。html
一臺PC電腦python
1個帶有天線的USB DVB-T key(RTL2832U)(大概在15美圓之內),或是一部OsmocomBB手機一個HackRF設備。nginx
git clone https://github.com/Oros42/IMSI-catcher.git # or wget https://github.com/Oros42/IMSI-catcher/archive/master.zip && unzip -q master.zip sudo apt install python-numpy python-scipy python-scapy
對於Debian Testing (10) 和 Ubuntu 18.04+ gr-gsm 的安裝,請參閱:https://osmocom.org/projects/gr-gsm/wiki/Installationgit
對於老版本的Debian 和 Ubuntu的安裝命令以下 :github
sudo add-apt-repository -y ppa:ptrkrysik/gr-gsm
sudo apt update sudo apt install gr-gsm
若是gr-gsm設置失敗,請參照:https://github.com/ptrkrysik/gr-gsm/wiki/Installation 進行設置。sql
Debian:https://tracker.debian.org/pkg/gr-gsmbootstrap
打開2個終端。ubuntu
在終端1中輸入:bash
sudo python simple_IMSI-catcher.py --sniff
你能夠添加-h參數顯示可用選項。
在終端2中,搜索頻率:
grgsm_scanner
使用grgsm_livemon命令嗅探你搜索到的頻率:
grgsm_livemon -f <your_frequency>M
例如:
grgsm_livemon -f 938.2M
運行後應該會產生相似如下輸出:
15 06 21 00 01 f0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 25 06 21 00 05 f4 f8 68 03 26 23 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 49 06 1b 95 cc 02 f8 02 01 9c c8 03 1e 57 a5 01 79 00 00 1c 13 2b 2b ...
你能夠根據需求更換不一樣的頻率。
一樣,打開2個終端。
在終端1中輸入:
python simple_IMSI-catcher.py
你能夠添加-h參數顯示可用選項。
在終端2中輸入:
python scan-and-livemon
這個過程可能須要幾分鐘的時間。由於,它須要運行grgsm_scanner來查找附近的基站,並請求grgsm_livemon_headless接收信號。
或是先找到附近基站的頻率。
grgsm_scanner
接着,使用grgsm_livemon命令嗅探你搜索到的頻率:
grgsm_livemon -f <your_frequency>M
例如:
grgsm_livemon -f 938.2M
運行後應該會產生相似如下輸出:
15 06 21 00 01 f0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 25 06 21 00 05 f4 f8 68 03 26 23 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 49 06 1b 95 cc 02 f8 02 01 9c c8 03 1e 57 a5 01 79 00 00 1c 13 2b 2b ...
你能夠根據需求更換不一樣的頻率。
完成以上操做後,下面咱們要作的就是等待結果。大概一分鐘左右的時間,咱們就可以在終端1中看到IMSI號碼。若是一分鐘後沒有出現任何內容,那麼請更改你的頻率。
相關文檔:https://fr.wikipedia.org/wiki/Global_System_for_Mobile_Communications
例如法國的頻率爲:9.288e+08 Bouygues
查看捕獲到的數據包:
sudo wireshark -k -Y '!icmp && gsmtap' -i lo
獲取有關信號塔的信息:
sudo python find_cell_id.py
獲取Immediate Assignment信令:
sudo python immediate_assignment_catcher.py
除了能夠使用上面提到的grgsm_scanner來查找頻率,你也能夠使用像kalibrate-hackrf這樣的工具來查找:
sudo apt-get install automake autoconf libhackrf-dev git clone https://github.com/scateu/kalibrate-hackrf cd kalibrate-hackrf/ ./bootstrap ./configure make sudo make install
kal -s GSM900
kal: Scanning for GSM-900 base stations. GSM-900: chan: 14 (937.8MHz + 10.449kHz) power: 3327428.82 chan: 15 (938.0MHz + 4.662kHz) power: 3190712.41
Gr-Gsm 設置:https://github.com/ptrkrysik/gr-gsm/wiki/Installation
頻率:http://www.worldtimezone.com/gsm.html(https://fr.wikipedia.org/wiki/Global_System_for_Mobile_Communications)
MNC:https://en.wikipedia.org/wiki/Mobile_Network_Code
Scapy:http://secdev.org/projects/scapy/doc/usage.html
IMSI:https://fr.wikipedia.org/wiki/IMSI
Realtek RTL2832U:https://osmocom.org/projects/sdr/wiki/rtl-sdr(http://doc.ubuntu-fr.org/rtl2832u)http://doc.ubuntu-fr.org/rtl-sdr