summaryrefslogtreecommitdiffstats
path: root/Src
diff options
context:
space:
mode:
authorTom2012-03-12 18:26:12 +0100
committerTom2012-03-12 18:26:12 +0100
commit8e18e2cc688296fb05fd04b7490e5bf4d9efdf3a (patch)
tree785e14336979cad826096566d9965779a5d174f4 /Src
parentimplemented rules and evaluators (diff)
downloadimsi-catcher-detection-8e18e2cc688296fb05fd04b7490e5bf4d9efdf3a.tar.gz
imsi-catcher-detection-8e18e2cc688296fb05fd04b7490e5bf4d9efdf3a.tar.xz
imsi-catcher-detection-8e18e2cc688296fb05fd04b7490e5bf4d9efdf3a.zip
some changes to rules and presentation uploaded
Diffstat (limited to 'Src')
-rw-r--r--Src/PyCatcher/GUI/catcher_main.glade19
-rw-r--r--Src/PyCatcher/Scans/fak.cpf5962
-rw-r--r--Src/PyCatcher/src/driverConnector.py10
-rw-r--r--Src/PyCatcher/src/evaluators.py10
-rw-r--r--Src/PyCatcher/src/pyCatcherController.py39
-rw-r--r--Src/PyCatcher/src/pyCatcherModel.py2
-rw-r--r--Src/PyCatcher/src/pyCatcherView.py15
-rw-r--r--Src/PyCatcher/src/rules.py77
-rw-r--r--Src/PyCatcher/src/settings.py12
-rw-r--r--Src/osmolib/src/host/layer23/src/misc/catcher.c4
-rwxr-xr-xSrc/osmolib/src/shared/libosmocore/build-host/tests/a5/a5_test2
-rwxr-xr-xSrc/osmolib/src/shared/libosmocore/build-host/tests/auth/milenage_test2
-rwxr-xr-xSrc/osmolib/src/shared/libosmocore/build-host/tests/bits/bitrev_test2
-rwxr-xr-xSrc/osmolib/src/shared/libosmocore/build-host/tests/conv/conv_test2
-rwxr-xr-xSrc/osmolib/src/shared/libosmocore/build-host/tests/gsm0808/gsm0808_test2
-rwxr-xr-xSrc/osmolib/src/shared/libosmocore/build-host/tests/lapd/lapd_test2
-rwxr-xr-xSrc/osmolib/src/shared/libosmocore/build-host/utils/osmo-arfcn2
-rwxr-xr-xSrc/osmolib/src/shared/libosmocore/build-host/utils/osmo-auc-gen2
18 files changed, 6101 insertions, 65 deletions
diff --git a/Src/PyCatcher/GUI/catcher_main.glade b/Src/PyCatcher/GUI/catcher_main.glade
index 3aec4cb..89e0578 100644
--- a/Src/PyCatcher/GUI/catcher_main.glade
+++ b/Src/PyCatcher/GUI/catcher_main.glade
@@ -718,13 +718,14 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <object class="GtkCheckButton" id="cb_provider_integrity">
- <property name="label" translatable="yes">Provider Integrity</property>
+ <object class="GtkCheckButton" id="cb_provider_known">
+ <property name="label" translatable="yes">Provider Known</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="xalign">0</property>
+ <property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
@@ -741,6 +742,7 @@
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="xalign">0</property>
+ <property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
@@ -750,29 +752,31 @@
</packing>
</child>
<child>
- <object class="GtkCheckButton" id="cb_bsic">
- <property name="label" translatable="yes">BSIC Integrity</property>
+ <object class="GtkCheckButton" id="cb_lac_provider">
+ <property name="label" translatable="yes">LAC/Provider Mapping</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="xalign">0</property>
+ <property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="cb_uniqueness">
- <property name="label" translatable="yes">Uniqueness</property>
+ <property name="label" translatable="yes">Unique Cell ID</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="xalign">0</property>
+ <property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
@@ -924,13 +928,14 @@
</packing>
</child>
<child>
- <object class="GtkCheckButton" id="cb_arfcn">
+ <object class="GtkCheckButton" id="cb_arfcn_provider">
<property name="label" translatable="yes">ARFCN/Provider Mapping</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="xalign">0</property>
+ <property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
diff --git a/Src/PyCatcher/Scans/fak.cpf b/Src/PyCatcher/Scans/fak.cpf
new file mode 100644
index 0000000..4a327cc
--- /dev/null
+++ b/Src/PyCatcher/Scans/fak.cpf
@@ -0,0 +1,5962 @@
+(ipyCatcherModel
+BaseStationInformationList
+p0
+(dp1
+S'_base_station_list'
+p2
+(lp3
+(ipyCatcherModel
+BaseStationInformation
+p4
+(dp5
+S'system_info_t2bis'
+p6
+(lp7
+sS'system_info_t2'
+p8
+(lp9
+S'59'
+p10
+aS'06'
+p11
+aS'1a'
+p12
+aS'10'
+p13
+aS'01'
+p14
+aS'19'
+p15
+aS'00'
+p16
+aS'00'
+p17
+aS'00'
+p18
+aS'58'
+p19
+aS'c0'
+p20
+aS'09'
+p21
+aS'10'
+p22
+aS'00'
+p23
+aS'00'
+p24
+aS'00'
+p25
+aS'00'
+p26
+aS'00'
+p27
+aS'03'
+p28
+aS'88'
+p29
+aS'b9'
+p30
+aS'00'
+p31
+aS'00'
+p32
+asS'bsic'
+p33
+S'7,7'
+p34
+sS'country'
+p35
+S'Germany'
+p36
+sS'rules_report'
+p37
+(dp38
+S'ARFCN Mapping'
+p39
+S'Critical'
+p40
+sS'Country Provider Mapping'
+p41
+g40
+sS'Unique CellID'
+p42
+S'Ok'
+p43
+sS'LAC Mapping'
+p44
+g40
+sS'Provider Check'
+p45
+g40
+ssS'discovery_time'
+p46
+S'17:21:44'
+p47
+sS'system_info_t2ter'
+p48
+(lp49
+S'01'
+p50
+aS'06'
+p51
+aS'03'
+p52
+aS'df'
+p53
+aS'73'
+p54
+aS'08'
+p55
+aS'00'
+p56
+aS'00'
+p57
+aS'00'
+p58
+aS'00'
+p59
+aS'00'
+p60
+aS'00'
+p61
+aS'00'
+p62
+aS'00'
+p63
+aS'00'
+p64
+aS'00'
+p65
+aS'00'
+p66
+aS'00'
+p67
+aS'00'
+p68
+aS'2b'
+p69
+aS'2b'
+p70
+aS'2b'
+p71
+aS'2b'
+p72
+asS'lac'
+p73
+I793
+sS'cell'
+p74
+I12191
+sS'rxlev'
+p75
+S'-68'
+p76
+sS'provider'
+p77
+S'Vodafone'
+p78
+sS'found'
+p79
+I00
+sS'evaluation'
+p80
+g40
+sS'arfcn'
+p81
+I115
+sba(ipyCatcherModel
+BaseStationInformation
+p82
+(dp83
+g6
+(lp84
+sg8
+(lp85
+S'59'
+p86
+aS'06'
+p87
+aS'1a'
+p88
+aS'1c'
+p89
+aS'00'
+p90
+aS'00'
+p91
+aS'00'
+p92
+aS'81'
+p93
+aS'00'
+p94
+aS'00'
+p95
+aS'00'
+p96
+aS'00'
+p97
+aS'00'
+p98
+aS'40'
+p99
+aS'20'
+p100
+aS'00'
+p101
+aS'88'
+p102
+aS'00'
+p103
+aS'00'
+p104
+aS'88'
+p105
+aS'a5'
+p106
+aS'00'
+p107
+aS'00'
+p108
+asg33
+S'3,0'
+p109
+sg35
+S'Germany'
+p110
+sg37
+(dp111
+g39
+g43
+sg41
+g43
+sg42
+g43
+sg44
+g43
+sg45
+g43
+ssg46
+S'17:21:49'
+p112
+sg48
+(lp113
+S'01'
+p114
+aS'06'
+p115
+aS'03'
+p116
+aS'9f'
+p117
+aS'27'
+p118
+aS'00'
+p119
+aS'40'
+p120
+aS'00'
+p121
+aS'00'
+p122
+aS'00'
+p123
+aS'00'
+p124
+aS'00'
+p125
+aS'00'
+p126
+aS'00'
+p127
+aS'00'
+p128
+aS'00'
+p129
+aS'00'
+p130
+aS'00'
+p131
+aS'00'
+p132
+aS'2b'
+p133
+aS'2b'
+p134
+aS'2b'
+p135
+aS'2b'
+p136
+asg73
+I21014
+sg74
+I57329
+sg75
+S'-74'
+p137
+sg77
+S'T-Mobile'
+p138
+sg79
+I00
+sg80
+g43
+sg81
+I20
+sba(ipyCatcherModel
+BaseStationInformation
+p139
+(dp140
+g6
+(lp141
+sg8
+(lp142
+S'59'
+p143
+aS'06'
+p144
+aS'1a'
+p145
+aS'04'
+p146
+aS'00'
+p147
+aS'00'
+p148
+aS'03'
+p149
+aS'01'
+p150
+aS'04'
+p151
+aS'00'
+p152
+aS'00'
+p153
+aS'00'
+p154
+aS'00'
+p155
+aS'00'
+p156
+aS'a0'
+p157
+aS'80'
+p158
+aS'0c'
+p159
+aS'00'
+p160
+aS'00'
+p161
+aS'88'
+p162
+aS'a5'
+p163
+aS'00'
+p164
+aS'00'
+p165
+asg33
+S'7,1'
+p166
+sg35
+S'Germany'
+p167
+sg37
+(dp168
+g39
+g43
+sg41
+g43
+sg42
+g43
+sg44
+g43
+sg45
+g43
+ssg46
+S'17:22:00'
+p169
+sg48
+(lp170
+S'01'
+p171
+aS'06'
+p172
+aS'03'
+p173
+aS'8f'
+p174
+aS'27'
+p175
+aS'00'
+p176
+aS'00'
+p177
+aS'00'
+p178
+aS'00'
+p179
+aS'00'
+p180
+aS'00'
+p181
+aS'00'
+p182
+aS'00'
+p183
+aS'00'
+p184
+aS'00'
+p185
+aS'00'
+p186
+aS'00'
+p187
+aS'00'
+p188
+aS'00'
+p189
+aS'2b'
+p190
+aS'2b'
+p191
+aS'2b'
+p192
+aS'2b'
+p193
+asg73
+I21014
+sg74
+I52812
+sg75
+S'-76'
+p194
+sg77
+S'T-Mobile'
+p195
+sg79
+I00
+sg80
+g43
+sg81
+I123
+sba(ipyCatcherModel
+BaseStationInformation
+p196
+(dp197
+g6
+(lp198
+sg8
+(lp199
+S'59'
+p200
+aS'06'
+p201
+aS'1a'
+p202
+aS'10'
+p203
+aS'05'
+p204
+aS'1d'
+p205
+aS'00'
+p206
+aS'00'
+p207
+aS'00'
+p208
+aS'58'
+p209
+aS'c0'
+p210
+aS'81'
+p211
+aS'10'
+p212
+aS'00'
+p213
+aS'00'
+p214
+aS'00'
+p215
+aS'00'
+p216
+aS'00'
+p217
+aS'03'
+p218
+aS'88'
+p219
+aS'b9'
+p220
+aS'00'
+p221
+aS'00'
+p222
+asg33
+S'7,2'
+p223
+sg35
+S'Germany'
+p224
+sg37
+(dp225
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:21:57'
+p226
+sg48
+(lp227
+S'01'
+p228
+aS'06'
+p229
+aS'03'
+p230
+aS'df'
+p231
+aS'6a'
+p232
+aS'82'
+p233
+aS'00'
+p234
+aS'44'
+p235
+aS'00'
+p236
+aS'00'
+p237
+aS'00'
+p238
+aS'00'
+p239
+aS'00'
+p240
+aS'00'
+p241
+aS'00'
+p242
+aS'00'
+p243
+aS'00'
+p244
+aS'00'
+p245
+aS'00'
+p246
+aS'2b'
+p247
+aS'2b'
+p248
+aS'2b'
+p249
+aS'2b'
+p250
+asg73
+I793
+sg74
+I15082
+sg75
+S'-76'
+p251
+sg77
+S'Vodafone'
+p252
+sg79
+I00
+sg80
+g40
+sg81
+I60
+sba(ipyCatcherModel
+BaseStationInformation
+p253
+(dp254
+g6
+(lp255
+sg8
+(lp256
+S'59'
+p257
+aS'06'
+p258
+aS'1a'
+p259
+aS'1c'
+p260
+aS'00'
+p261
+aS'00'
+p262
+aS'00'
+p263
+aS'01'
+p264
+aS'82'
+p265
+aS'00'
+p266
+aS'00'
+p267
+aS'00'
+p268
+aS'00'
+p269
+aS'41'
+p270
+aS'a0'
+p271
+aS'80'
+p272
+aS'88'
+p273
+aS'00'
+p274
+aS'00'
+p275
+aS'88'
+p276
+aS'a5'
+p277
+aS'00'
+p278
+aS'00'
+p279
+asg33
+S'7,4'
+p280
+sg35
+S'Germany'
+p281
+sg37
+(dp282
+g39
+g43
+sg41
+g43
+sg42
+g43
+sg44
+g43
+sg45
+g43
+ssg46
+S'17:17:53'
+p283
+sg48
+(lp284
+S'01'
+p285
+aS'06'
+p286
+aS'03'
+p287
+aS'9f'
+p288
+aS'2b'
+p289
+aS'80'
+p290
+aS'00'
+p291
+aS'00'
+p292
+aS'00'
+p293
+aS'00'
+p294
+aS'00'
+p295
+aS'00'
+p296
+aS'00'
+p297
+aS'00'
+p298
+aS'00'
+p299
+aS'00'
+p300
+aS'00'
+p301
+aS'00'
+p302
+aS'00'
+p303
+aS'2b'
+p304
+aS'2b'
+p305
+aS'2b'
+p306
+aS'2b'
+p307
+asg73
+I21014
+sg74
+I29509
+sg75
+S'-78'
+p308
+sg77
+S'T-Mobile'
+p309
+sg79
+I00
+sg80
+g43
+sg81
+I38
+sba(ipyCatcherModel
+BaseStationInformation
+p310
+(dp311
+g6
+(lp312
+sg8
+(lp313
+S'59'
+p314
+aS'06'
+p315
+aS'1a'
+p316
+aS'10'
+p317
+aS'04'
+p318
+aS'09'
+p319
+aS'00'
+p320
+aS'00'
+p321
+aS'00'
+p322
+aS'59'
+p323
+aS'e1'
+p324
+aS'89'
+p325
+aS'58'
+p326
+aS'00'
+p327
+aS'00'
+p328
+aS'00'
+p329
+aS'00'
+p330
+aS'00'
+p331
+aS'03'
+p332
+aS'88'
+p333
+aS'b9'
+p334
+aS'00'
+p335
+aS'00'
+p336
+asg33
+S'7,4'
+p337
+sg35
+S'Germany'
+p338
+sg37
+(dp339
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:17:56'
+p340
+sg48
+(lp341
+S'01'
+p342
+aS'06'
+p343
+aS'03'
+p344
+aS'df'
+p345
+aS'6b'
+p346
+aS'80'
+p347
+aS'01'
+p348
+aS'10'
+p349
+aS'00'
+p350
+aS'00'
+p351
+aS'00'
+p352
+aS'00'
+p353
+aS'00'
+p354
+aS'00'
+p355
+aS'00'
+p356
+aS'00'
+p357
+aS'00'
+p358
+aS'00'
+p359
+aS'00'
+p360
+aS'2b'
+p361
+aS'2b'
+p362
+aS'2b'
+p363
+aS'2b'
+p364
+asg73
+I793
+sg74
+I21721
+sg75
+S'-77'
+p365
+sg77
+S'Vodafone'
+p366
+sg79
+I00
+sg80
+g40
+sg81
+I109
+sba(ipyCatcherModel
+BaseStationInformation
+p367
+(dp368
+g6
+(lp369
+sg8
+(lp370
+S'59'
+p371
+aS'06'
+p372
+aS'1a'
+p373
+aS'08'
+p374
+aS'00'
+p375
+aS'00'
+p376
+aS'08'
+p377
+aS'95'
+p378
+aS'82'
+p379
+aS'00'
+p380
+aS'00'
+p381
+aS'00'
+p382
+aS'01'
+p383
+aS'40'
+p384
+aS'00'
+p385
+aS'00'
+p386
+aS'10'
+p387
+aS'00'
+p388
+aS'00'
+p389
+aS'88'
+p390
+aS'a5'
+p391
+aS'00'
+p392
+aS'00'
+p393
+asg33
+S'7,3'
+p394
+sg35
+S'Germany'
+p395
+sg37
+(dp396
+g39
+g43
+sg41
+g43
+sg42
+g43
+sg44
+g43
+sg45
+g43
+ssg46
+S'17:22:04'
+p397
+sg48
+(lp398
+sg73
+I21014
+sg74
+I6326
+sg75
+S'-78'
+p399
+sg77
+S'T-Mobile'
+p400
+sg79
+I00
+sg80
+g43
+sg81
+I21
+sba(ipyCatcherModel
+BaseStationInformation
+p401
+(dp402
+g6
+(lp403
+sg8
+(lp404
+S'59'
+p405
+aS'06'
+p406
+aS'1a'
+p407
+aS'01'
+p408
+aS'44'
+p409
+aS'4c'
+p410
+aS'00'
+p411
+aS'00'
+p412
+aS'00'
+p413
+aS'54'
+p414
+aS'03'
+p415
+aS'a9'
+p416
+aS'00'
+p417
+aS'00'
+p418
+aS'00'
+p419
+aS'00'
+p420
+aS'00'
+p421
+aS'00'
+p422
+aS'05'
+p423
+aS'88'
+p424
+aS'b9'
+p425
+aS'00'
+p426
+aS'00'
+p427
+asg33
+S'3,4'
+p428
+sg35
+S'Germany'
+p429
+sg37
+(dp430
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:21:53'
+p431
+sg48
+(lp432
+S'01'
+p433
+aS'06'
+p434
+aS'03'
+p435
+aS'cf'
+p436
+aS'6a'
+p437
+aS'aa'
+p438
+aS'00'
+p439
+aS'00'
+p440
+aS'00'
+p441
+aS'00'
+p442
+aS'00'
+p443
+aS'00'
+p444
+aS'00'
+p445
+aS'00'
+p446
+aS'00'
+p447
+aS'00'
+p448
+aS'00'
+p449
+aS'00'
+p450
+aS'00'
+p451
+aS'2b'
+p452
+aS'2b'
+p453
+aS'2b'
+p454
+aS'2b'
+p455
+asg73
+I793
+sg74
+I20482
+sg75
+S'-78'
+p456
+sg77
+S'Vodafone'
+p457
+sg79
+I00
+sg80
+g40
+sg81
+I113
+sba(ipyCatcherModel
+BaseStationInformation
+p458
+(dp459
+g6
+(lp460
+sg8
+(lp461
+S'59'
+p462
+aS'06'
+p463
+aS'1a'
+p464
+aS'9b'
+p465
+aS'ec'
+p466
+aS'01'
+p467
+aS'ff'
+p468
+aS'13'
+p469
+aS'ff'
+p470
+aS'60'
+p471
+aS'00'
+p472
+aS'00'
+p473
+aS'00'
+p474
+aS'00'
+p475
+aS'00'
+p476
+aS'00'
+p477
+aS'00'
+p478
+aS'00'
+p479
+aS'00'
+p480
+aS'08'
+p481
+aS'94'
+p482
+aS'00'
+p483
+aS'00'
+p484
+asg33
+S'3,7'
+p485
+sg35
+S'Germany'
+p486
+sg37
+(dp487
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:18:08'
+p488
+sg48
+(lp489
+S'01'
+p490
+aS'06'
+p491
+aS'03'
+p492
+aS'df'
+p493
+aS'91'
+p494
+aS'08'
+p495
+aS'26'
+p496
+aS'a6'
+p497
+aS'00'
+p498
+aS'00'
+p499
+aS'00'
+p500
+aS'00'
+p501
+aS'00'
+p502
+aS'00'
+p503
+aS'00'
+p504
+aS'00'
+p505
+aS'00'
+p506
+aS'00'
+p507
+aS'00'
+p508
+aS'2b'
+p509
+aS'2b'
+p510
+aS'2b'
+p511
+aS'2b'
+p512
+asg73
+I588
+sg74
+I52408
+sg75
+S'-79'
+p513
+sg77
+S'E-Plus'
+p514
+sg79
+I00
+sg80
+g40
+sg81
+I985
+sba(ipyCatcherModel
+BaseStationInformation
+p515
+(dp516
+g6
+(lp517
+sg8
+(lp518
+S'59'
+p519
+aS'06'
+p520
+aS'1a'
+p521
+aS'10'
+p522
+aS'04'
+p523
+aS'19'
+p524
+aS'00'
+p525
+aS'00'
+p526
+aS'00'
+p527
+aS'58'
+p528
+aS'71'
+p529
+aS'09'
+p530
+aS'50'
+p531
+aS'00'
+p532
+aS'00'
+p533
+aS'00'
+p534
+aS'00'
+p535
+aS'00'
+p536
+aS'02'
+p537
+aS'88'
+p538
+aS'b9'
+p539
+aS'00'
+p540
+aS'00'
+p541
+asg33
+S'3,1'
+p542
+sg35
+S'Germany'
+p543
+sg37
+(dp544
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:18:12'
+p545
+sg48
+(lp546
+S'01'
+p547
+aS'06'
+p548
+aS'03'
+p549
+aS'df'
+p550
+aS'6b'
+p551
+aS'c0'
+p552
+aS'00'
+p553
+aS'10'
+p554
+aS'00'
+p555
+aS'00'
+p556
+aS'00'
+p557
+aS'00'
+p558
+aS'00'
+p559
+aS'00'
+p560
+aS'00'
+p561
+aS'00'
+p562
+aS'00'
+p563
+aS'00'
+p564
+aS'00'
+p565
+aS'2b'
+p566
+aS'2b'
+p567
+aS'2b'
+p568
+aS'2b'
+p569
+asg73
+I793
+sg74
+I19231
+sg75
+S'-78'
+p570
+sg77
+S'Vodafone'
+p571
+sg79
+I00
+sg80
+g40
+sg81
+I72
+sba(ipyCatcherModel
+BaseStationInformation
+p572
+(dp573
+g6
+(lp574
+sg8
+(lp575
+S'59'
+p576
+aS'06'
+p577
+aS'1a'
+p578
+aS'10'
+p579
+aS'00'
+p580
+aS'00'
+p581
+aS'00'
+p582
+aS'00'
+p583
+aS'82'
+p584
+aS'00'
+p585
+aS'00'
+p586
+aS'00'
+p587
+aS'01'
+p588
+aS'40'
+p589
+aS'a0'
+p590
+aS'80'
+p591
+aS'99'
+p592
+aS'00'
+p593
+aS'00'
+p594
+aS'88'
+p595
+aS'a5'
+p596
+aS'00'
+p597
+aS'00'
+p598
+asg33
+S'3,0'
+p599
+sg35
+S'Germany'
+p600
+sg37
+(dp601
+g39
+g43
+sg41
+g43
+sg42
+g43
+sg44
+g43
+sg45
+g43
+ssg46
+S'17:18:15'
+p602
+sg48
+(lp603
+S'01'
+p604
+aS'06'
+p605
+aS'03'
+p606
+aS'9f'
+p607
+aS'27'
+p608
+aS'00'
+p609
+aS'00'
+p610
+aS'00'
+p611
+aS'00'
+p612
+aS'00'
+p613
+aS'00'
+p614
+aS'00'
+p615
+aS'00'
+p616
+aS'00'
+p617
+aS'00'
+p618
+aS'00'
+p619
+aS'00'
+p620
+aS'00'
+p621
+aS'00'
+p622
+aS'2b'
+p623
+aS'2b'
+p624
+aS'2b'
+p625
+aS'2b'
+p626
+asg73
+I21014
+sg74
+I40419
+sg75
+S'-83'
+p627
+sg77
+S'T-Mobile'
+p628
+sg79
+I00
+sg80
+g43
+sg81
+I47
+sba(ipyCatcherModel
+BaseStationInformation
+p629
+(dp630
+g6
+(lp631
+sg8
+(lp632
+S'59'
+p633
+aS'06'
+p634
+aS'1a'
+p635
+aS'10'
+p636
+aS'05'
+p637
+aS'11'
+p638
+aS'00'
+p639
+aS'00'
+p640
+aS'00'
+p641
+aS'45'
+p642
+aS'e1'
+p643
+aS'08'
+p644
+aS'00'
+p645
+aS'00'
+p646
+aS'00'
+p647
+aS'00'
+p648
+aS'00'
+p649
+aS'00'
+p650
+aS'01'
+p651
+aS'88'
+p652
+aS'b9'
+p653
+aS'00'
+p654
+aS'00'
+p655
+asg33
+S'3,5'
+p656
+sg35
+S'Germany'
+p657
+sg37
+(dp658
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:18:19'
+p659
+sg48
+(lp660
+S'01'
+p661
+aS'06'
+p662
+aS'03'
+p663
+aS'df'
+p664
+aS'6a'
+p665
+aS'aa'
+p666
+aS'00'
+p667
+aS'04'
+p668
+aS'00'
+p669
+aS'00'
+p670
+aS'00'
+p671
+aS'00'
+p672
+aS'00'
+p673
+aS'00'
+p674
+aS'00'
+p675
+aS'00'
+p676
+aS'00'
+p677
+aS'00'
+p678
+aS'00'
+p679
+aS'2b'
+p680
+aS'2b'
+p681
+aS'2b'
+p682
+aS'2b'
+p683
+asg73
+I793
+sg74
+I20483
+sg75
+S'-80'
+p684
+sg77
+S'Vodafone'
+p685
+sg79
+I00
+sg80
+g40
+sg81
+I77
+sba(ipyCatcherModel
+BaseStationInformation
+p686
+(dp687
+g6
+(lp688
+sg8
+(lp689
+S'59'
+p690
+aS'06'
+p691
+aS'1a'
+p692
+aS'00'
+p693
+aS'00'
+p694
+aS'00'
+p695
+aS'0a'
+p696
+aS'00'
+p697
+aS'00'
+p698
+aS'00'
+p699
+aS'00'
+p700
+aS'00'
+p701
+aS'00'
+p702
+aS'18'
+p703
+aS'08'
+p704
+aS'00'
+p705
+aS'03'
+p706
+aS'00'
+p707
+aS'00'
+p708
+aS'88'
+p709
+aS'a5'
+p710
+aS'00'
+p711
+aS'00'
+p712
+asg33
+S'3,6'
+p713
+sg35
+S'Germany'
+p714
+sg37
+(dp715
+g39
+g43
+sg41
+g43
+sg42
+g43
+sg44
+g43
+sg45
+g43
+ssg46
+S'17:18:22'
+p716
+sg48
+(lp717
+sg73
+I21014
+sg74
+I29808
+sg75
+S'-88'
+p718
+sg77
+S'T-Mobile'
+p719
+sg79
+I00
+sg80
+g43
+sg81
+I36
+sba(ipyCatcherModel
+BaseStationInformation
+p720
+(dp721
+g6
+(lp722
+sg8
+(lp723
+S'59'
+p724
+aS'06'
+p725
+aS'1a'
+p726
+aS'18'
+p727
+aS'00'
+p728
+aS'00'
+p729
+aS'00'
+p730
+aS'00'
+p731
+aS'00'
+p732
+aS'00'
+p733
+aS'00'
+p734
+aS'00'
+p735
+aS'00'
+p736
+aS'40'
+p737
+aS'b4'
+p738
+aS'80'
+p739
+aS'89'
+p740
+aS'00'
+p741
+aS'00'
+p742
+aS'88'
+p743
+aS'a5'
+p744
+aS'00'
+p745
+aS'00'
+p746
+asg33
+S'7,4'
+p747
+sg35
+S'Germany'
+p748
+sg37
+(dp749
+g39
+g43
+sg41
+g43
+sg42
+g43
+sg44
+g43
+sg45
+g43
+ssg46
+S'17:18:27'
+p750
+sg48
+(lp751
+S'01'
+p752
+aS'06'
+p753
+aS'03'
+p754
+aS'9f'
+p755
+aS'27'
+p756
+aS'00'
+p757
+aS'40'
+p758
+aS'00'
+p759
+aS'00'
+p760
+aS'00'
+p761
+aS'00'
+p762
+aS'00'
+p763
+aS'00'
+p764
+aS'00'
+p765
+aS'00'
+p766
+aS'00'
+p767
+aS'00'
+p768
+aS'00'
+p769
+aS'00'
+p770
+aS'2b'
+p771
+aS'2b'
+p772
+aS'2b'
+p773
+aS'2b'
+p774
+asg73
+I21014
+sg74
+I40420
+sg75
+S'-83'
+p775
+sg77
+S'T-Mobile'
+p776
+sg79
+I00
+sg80
+g43
+sg81
+I24
+sba(ipyCatcherModel
+BaseStationInformation
+p777
+(dp778
+g6
+(lp779
+sg8
+(lp780
+S'59'
+p781
+aS'06'
+p782
+aS'1a'
+p783
+aS'18'
+p784
+aS'00'
+p785
+aS'00'
+p786
+aS'00'
+p787
+aS'90'
+p788
+aS'08'
+p789
+aS'00'
+p790
+aS'00'
+p791
+aS'00'
+p792
+aS'01'
+p793
+aS'04'
+p794
+aS'20'
+p795
+aS'00'
+p796
+aS'1d'
+p797
+aS'00'
+p798
+aS'00'
+p799
+aS'88'
+p800
+aS'a5'
+p801
+aS'00'
+p802
+aS'00'
+p803
+asg33
+S'7,0'
+p804
+sg35
+S'Germany'
+p805
+sg37
+(dp806
+g39
+g43
+sg41
+g43
+sg42
+g43
+sg44
+g43
+sg45
+g43
+ssg46
+S'17:18:30'
+p807
+sg48
+(lp808
+sg73
+I21014
+sg74
+I57327
+sg75
+S'-83'
+p809
+sg77
+S'T-Mobile'
+p810
+sg79
+I00
+sg80
+g43
+sg81
+I96
+sba(ipyCatcherModel
+BaseStationInformation
+p811
+(dp812
+g6
+(lp813
+sg8
+(lp814
+S'59'
+p815
+aS'06'
+p816
+aS'1a'
+p817
+aS'18'
+p818
+aS'00'
+p819
+aS'00'
+p820
+aS'00'
+p821
+aS'00'
+p822
+aS'00'
+p823
+aS'00'
+p824
+aS'00'
+p825
+aS'00'
+p826
+aS'00'
+p827
+aS'00'
+p828
+aS'e4'
+p829
+aS'00'
+p830
+aS'91'
+p831
+aS'00'
+p832
+aS'00'
+p833
+aS'88'
+p834
+aS'a5'
+p835
+aS'00'
+p836
+aS'00'
+p837
+asg33
+S'3,1'
+p838
+sg35
+S'Germany'
+p839
+sg37
+(dp840
+g39
+g43
+sg41
+g43
+sg42
+g43
+sg44
+g43
+sg45
+g43
+ssg46
+S'17:18:33'
+p841
+sg48
+(lp842
+S'01'
+p843
+aS'06'
+p844
+aS'03'
+p845
+aS'ff'
+p846
+aS'27'
+p847
+aS'00'
+p848
+aS'40'
+p849
+aS'00'
+p850
+aS'00'
+p851
+aS'00'
+p852
+aS'00'
+p853
+aS'00'
+p854
+aS'00'
+p855
+aS'00'
+p856
+aS'00'
+p857
+aS'00'
+p858
+aS'00'
+p859
+aS'00'
+p860
+aS'00'
+p861
+aS'2b'
+p862
+aS'2b'
+p863
+aS'2b'
+p864
+aS'2b'
+p865
+asg73
+I21015
+sg74
+I35638
+sg75
+S'-83'
+p866
+sg77
+S'T-Mobile'
+p867
+sg79
+I00
+sg80
+g43
+sg81
+I124
+sba(ipyCatcherModel
+BaseStationInformation
+p868
+(dp869
+g6
+(lp870
+sg8
+(lp871
+S'59'
+p872
+aS'06'
+p873
+aS'1a'
+p874
+aS'04'
+p875
+aS'00'
+p876
+aS'00'
+p877
+aS'00'
+p878
+aS'00'
+p879
+aS'80'
+p880
+aS'00'
+p881
+aS'00'
+p882
+aS'00'
+p883
+aS'00'
+p884
+aS'40'
+p885
+aS'a0'
+p886
+aS'80'
+p887
+aS'80'
+p888
+aS'00'
+p889
+aS'00'
+p890
+aS'88'
+p891
+aS'a5'
+p892
+aS'00'
+p893
+aS'00'
+p894
+asg33
+S'3,5'
+p895
+sg35
+S'Germany'
+p896
+sg37
+(dp897
+g39
+g43
+sg41
+g43
+sg42
+g43
+sg44
+g43
+sg45
+g43
+ssg46
+S'17:18:38'
+p898
+sg48
+(lp899
+S'01'
+p900
+aS'06'
+p901
+aS'03'
+p902
+aS'8f'
+p903
+aS'27'
+p904
+aS'00'
+p905
+aS'00'
+p906
+aS'00'
+p907
+aS'00'
+p908
+aS'00'
+p909
+aS'00'
+p910
+aS'00'
+p911
+aS'00'
+p912
+aS'00'
+p913
+aS'00'
+p914
+aS'00'
+p915
+aS'00'
+p916
+aS'00'
+p917
+aS'00'
+p918
+aS'2b'
+p919
+aS'2b'
+p920
+aS'2b'
+p921
+aS'2b'
+p922
+asg73
+I21014
+sg74
+I19279
+sg75
+S'-84'
+p923
+sg77
+S'T-Mobile'
+p924
+sg79
+I00
+sg80
+g43
+sg81
+I32
+sba(ipyCatcherModel
+BaseStationInformation
+p925
+(dp926
+g6
+(lp927
+sg8
+(lp928
+S'59'
+p929
+aS'06'
+p930
+aS'1a'
+p931
+aS'11'
+p932
+aS'11'
+p933
+aS'1c'
+p934
+aS'80'
+p935
+aS'00'
+p936
+aS'00'
+p937
+aS'62'
+p938
+aS'02'
+p939
+aS'09'
+p940
+aS'08'
+p941
+aS'00'
+p942
+aS'00'
+p943
+aS'00'
+p944
+aS'00'
+p945
+aS'00'
+p946
+aS'01'
+p947
+aS'88'
+p948
+aS'b9'
+p949
+aS'00'
+p950
+aS'00'
+p951
+asg33
+S'7,4'
+p952
+sg35
+S'Germany'
+p953
+sg37
+(dp954
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:18:42'
+p955
+sg48
+(lp956
+sg73
+I793
+sg74
+I6913
+sg75
+S'-86'
+p957
+sg77
+S'Vodafone'
+p958
+sg79
+I00
+sg80
+g40
+sg81
+I64
+sba(ipyCatcherModel
+BaseStationInformation
+p959
+(dp960
+g6
+(lp961
+sg8
+(lp962
+S'59'
+p963
+aS'06'
+p964
+aS'1a'
+p965
+aS'18'
+p966
+aS'00'
+p967
+aS'00'
+p968
+aS'00'
+p969
+aS'20'
+p970
+aS'42'
+p971
+aS'00'
+p972
+aS'00'
+p973
+aS'00'
+p974
+aS'01'
+p975
+aS'40'
+p976
+aS'42'
+p977
+aS'00'
+p978
+aS'91'
+p979
+aS'00'
+p980
+aS'00'
+p981
+aS'88'
+p982
+aS'a5'
+p983
+aS'00'
+p984
+aS'00'
+p985
+asg33
+S'7,0'
+p986
+sg35
+S'Germany'
+p987
+sg37
+(dp988
+g39
+g43
+sg41
+g43
+sg42
+g43
+sg44
+g43
+sg45
+g43
+ssg46
+S'17:18:46'
+p989
+sg48
+(lp990
+S'01'
+p991
+aS'06'
+p992
+aS'03'
+p993
+aS'9f'
+p994
+aS'27'
+p995
+aS'00'
+p996
+aS'00'
+p997
+aS'00'
+p998
+aS'00'
+p999
+aS'00'
+p1000
+aS'00'
+p1001
+aS'00'
+p1002
+aS'00'
+p1003
+aS'00'
+p1004
+aS'00'
+p1005
+aS'00'
+p1006
+aS'00'
+p1007
+aS'00'
+p1008
+aS'00'
+p1009
+aS'2b'
+p1010
+aS'2b'
+p1011
+aS'2b'
+p1012
+aS'2b'
+p1013
+asg73
+I21015
+sg74
+I11376
+sg75
+S'-88'
+p1014
+sg77
+S'T-Mobile'
+p1015
+sg79
+I00
+sg80
+g43
+sg81
+I17
+sba(ipyCatcherModel
+BaseStationInformation
+p1016
+(dp1017
+g6
+(lp1018
+sg8
+(lp1019
+S'59'
+p1020
+aS'06'
+p1021
+aS'1a'
+p1022
+aS'9b'
+p1023
+aS'eb'
+p1024
+aS'04'
+p1025
+aS'7c'
+p1026
+aS'0f'
+p1027
+aS'ff'
+p1028
+aS'60'
+p1029
+aS'80'
+p1030
+aS'00'
+p1031
+aS'00'
+p1032
+aS'00'
+p1033
+aS'00'
+p1034
+aS'00'
+p1035
+aS'00'
+p1036
+aS'00'
+p1037
+aS'00'
+p1038
+aS'08'
+p1039
+aS'94'
+p1040
+aS'00'
+p1041
+aS'00'
+p1042
+asg33
+S'3,7'
+p1043
+sg35
+S'Germany'
+p1044
+sg37
+(dp1045
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:18:50'
+p1046
+sg48
+(lp1047
+S'01'
+p1048
+aS'06'
+p1049
+aS'03'
+p1050
+aS'df'
+p1051
+aS'84'
+p1052
+aS'80'
+p1053
+aS'00'
+p1054
+aS'08'
+p1055
+aS'0c'
+p1056
+aS'12'
+p1057
+aS'd2'
+p1058
+aS'f0'
+p1059
+aS'00'
+p1060
+aS'00'
+p1061
+aS'00'
+p1062
+aS'00'
+p1063
+aS'00'
+p1064
+aS'00'
+p1065
+aS'00'
+p1066
+aS'2b'
+p1067
+aS'2b'
+p1068
+aS'2b'
+p1069
+aS'2b'
+p1070
+asg73
+I588
+sg74
+I55238
+sg75
+S'-87'
+p1071
+sg77
+S'E-Plus'
+p1072
+sg79
+I00
+sg80
+g40
+sg81
+I986
+sba(ipyCatcherModel
+BaseStationInformation
+p1073
+(dp1074
+g6
+(lp1075
+sg8
+(lp1076
+S'59'
+p1077
+aS'06'
+p1078
+aS'1a'
+p1079
+aS'11'
+p1080
+aS'10'
+p1081
+aS'04'
+p1082
+aS'00'
+p1083
+aS'00'
+p1084
+aS'00'
+p1085
+aS'11'
+p1086
+aS'20'
+p1087
+aS'0d'
+p1088
+aS'00'
+p1089
+aS'00'
+p1090
+aS'00'
+p1091
+aS'00'
+p1092
+aS'00'
+p1093
+aS'02'
+p1094
+aS'21'
+p1095
+aS'88'
+p1096
+aS'b9'
+p1097
+aS'00'
+p1098
+aS'00'
+p1099
+asg33
+S'3,7'
+p1100
+sg35
+S'Germany'
+p1101
+sg37
+(dp1102
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:18:54'
+p1103
+sg48
+(lp1104
+sg73
+I793
+sg74
+I14952
+sg75
+S'-92'
+p1105
+sg77
+S'Vodafone'
+p1106
+sg79
+I00
+sg80
+g40
+sg81
+I52
+sba(ipyCatcherModel
+BaseStationInformation
+p1107
+(dp1108
+g6
+(lp1109
+S'55'
+p1110
+aS'06'
+p1111
+aS'02'
+p1112
+aS'af'
+p1113
+aS'ea'
+p1114
+aS'04'
+p1115
+aS'12'
+p1116
+aS'80'
+p1117
+aS'00'
+p1118
+aS'00'
+p1119
+aS'00'
+p1120
+aS'00'
+p1121
+aS'00'
+p1122
+aS'00'
+p1123
+aS'00'
+p1124
+aS'00'
+p1125
+aS'00'
+p1126
+aS'00'
+p1127
+aS'00'
+p1128
+aS'a4'
+p1129
+aS'00'
+p1130
+aS'00'
+p1131
+aS'2b'
+p1132
+asg8
+(lp1133
+S'59'
+p1134
+aS'06'
+p1135
+aS'1a'
+p1136
+aS'20'
+p1137
+aS'00'
+p1138
+aS'00'
+p1139
+aS'00'
+p1140
+aS'00'
+p1141
+aS'00'
+p1142
+aS'00'
+p1143
+aS'00'
+p1144
+aS'00'
+p1145
+aS'00'
+p1146
+aS'00'
+p1147
+aS'00'
+p1148
+aS'00'
+p1149
+aS'00'
+p1150
+aS'00'
+p1151
+aS'00'
+p1152
+aS'08'
+p1153
+aS'a4'
+p1154
+aS'00'
+p1155
+aS'00'
+p1156
+asg33
+S'3,3'
+p1157
+sg35
+S'Germany'
+p1158
+sg37
+(dp1159
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:19:02'
+p1160
+sg48
+(lp1161
+S'01'
+p1162
+aS'06'
+p1163
+aS'03'
+p1164
+aS'cf'
+p1165
+aS'8b'
+p1166
+aS'00'
+p1167
+aS'00'
+p1168
+aS'c0'
+p1169
+aS'6a'
+p1170
+aS'a0'
+p1171
+aS'00'
+p1172
+aS'00'
+p1173
+aS'00'
+p1174
+aS'00'
+p1175
+aS'00'
+p1176
+aS'00'
+p1177
+aS'00'
+p1178
+aS'00'
+p1179
+aS'00'
+p1180
+aS'2b'
+p1181
+aS'2b'
+p1182
+aS'2b'
+p1183
+aS'2b'
+p1184
+asg73
+I588
+sg74
+I8158
+sg75
+S'-85'
+p1185
+sg77
+S'E-Plus'
+p1186
+sg79
+I00
+sg80
+g40
+sg81
+I984
+sba(ipyCatcherModel
+BaseStationInformation
+p1187
+(dp1188
+g6
+(lp1189
+sg8
+(lp1190
+S'59'
+p1191
+aS'06'
+p1192
+aS'1a'
+p1193
+aS'10'
+p1194
+aS'94'
+p1195
+aS'18'
+p1196
+aS'00'
+p1197
+aS'00'
+p1198
+aS'00'
+p1199
+aS'a8'
+p1200
+aS'd0'
+p1201
+aS'29'
+p1202
+aS'10'
+p1203
+aS'00'
+p1204
+aS'00'
+p1205
+aS'00'
+p1206
+aS'00'
+p1207
+aS'00'
+p1208
+aS'00'
+p1209
+aS'88'
+p1210
+aS'b9'
+p1211
+aS'00'
+p1212
+aS'00'
+p1213
+asg33
+S'3,0'
+p1214
+sg35
+S'Germany'
+p1215
+sg37
+(dp1216
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:19:06'
+p1217
+sg48
+(lp1218
+S'01'
+p1219
+aS'06'
+p1220
+aS'03'
+p1221
+aS'df'
+p1222
+aS'6c'
+p1223
+aS'00'
+p1224
+aS'80'
+p1225
+aS'00'
+p1226
+aS'00'
+p1227
+aS'00'
+p1228
+aS'00'
+p1229
+aS'00'
+p1230
+aS'00'
+p1231
+aS'00'
+p1232
+aS'00'
+p1233
+aS'00'
+p1234
+aS'00'
+p1235
+aS'00'
+p1236
+aS'00'
+p1237
+aS'2b'
+p1238
+aS'2b'
+p1239
+aS'2b'
+p1240
+aS'2b'
+p1241
+asg73
+I793
+sg74
+I19232
+sg75
+S'-89'
+p1242
+sg77
+S'Vodafone'
+p1243
+sg79
+I00
+sg80
+g40
+sg81
+I2
+sba(ipyCatcherModel
+BaseStationInformation
+p1244
+(dp1245
+g6
+(lp1246
+sg8
+(lp1247
+S'59'
+p1248
+aS'06'
+p1249
+aS'1a'
+p1250
+aS'0c'
+p1251
+aS'00'
+p1252
+aS'00'
+p1253
+aS'03'
+p1254
+aS'01'
+p1255
+aS'00'
+p1256
+aS'00'
+p1257
+aS'00'
+p1258
+aS'00'
+p1259
+aS'01'
+p1260
+aS'00'
+p1261
+aS'20'
+p1262
+aS'00'
+p1263
+aS'0c'
+p1264
+aS'00'
+p1265
+aS'00'
+p1266
+aS'88'
+p1267
+aS'a5'
+p1268
+aS'00'
+p1269
+aS'00'
+p1270
+asg33
+S'3,6'
+p1271
+sg35
+S'Germany'
+p1272
+sg37
+(dp1273
+g39
+g43
+sg41
+g43
+sg42
+g43
+sg44
+g43
+sg45
+g43
+ssg46
+S'17:19:09'
+p1274
+sg48
+(lp1275
+S'01'
+p1276
+aS'06'
+p1277
+aS'03'
+p1278
+aS'8f'
+p1279
+aS'27'
+p1280
+aS'00'
+p1281
+aS'00'
+p1282
+aS'00'
+p1283
+aS'00'
+p1284
+aS'00'
+p1285
+aS'00'
+p1286
+aS'00'
+p1287
+aS'00'
+p1288
+aS'00'
+p1289
+aS'00'
+p1290
+aS'00'
+p1291
+aS'00'
+p1292
+aS'00'
+p1293
+aS'00'
+p1294
+aS'2b'
+p1295
+aS'2b'
+p1296
+aS'2b'
+p1297
+aS'2b'
+p1298
+asg73
+I21014
+sg74
+I29243
+sg75
+S'-91'
+p1299
+sg77
+S'T-Mobile'
+p1300
+sg79
+I00
+sg80
+g43
+sg81
+I89
+sba(ipyCatcherModel
+BaseStationInformation
+p1301
+(dp1302
+g6
+(lp1303
+sg8
+(lp1304
+S'59'
+p1305
+aS'06'
+p1306
+aS'1a'
+p1307
+aS'9b'
+p1308
+aS'ec'
+p1309
+aS'83'
+p1310
+aS'7c'
+p1311
+aS'03'
+p1312
+aS'f8'
+p1313
+aS'00'
+p1314
+aS'00'
+p1315
+aS'00'
+p1316
+aS'00'
+p1317
+aS'00'
+p1318
+aS'00'
+p1319
+aS'00'
+p1320
+aS'00'
+p1321
+aS'00'
+p1322
+aS'00'
+p1323
+aS'08'
+p1324
+aS'94'
+p1325
+aS'00'
+p1326
+aS'00'
+p1327
+asg33
+S'3,6'
+p1328
+sg35
+S'Germany'
+p1329
+sg37
+(dp1330
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:19:13'
+p1331
+sg48
+(lp1332
+S'01'
+p1333
+aS'06'
+p1334
+aS'03'
+p1335
+aS'df'
+p1336
+aS'84'
+p1337
+aS'80'
+p1338
+aS'00'
+p1339
+aS'08'
+p1340
+aS'25'
+p1341
+aS'52'
+p1342
+aS'c2'
+p1343
+aS'10'
+p1344
+aS'00'
+p1345
+aS'00'
+p1346
+aS'00'
+p1347
+aS'00'
+p1348
+aS'00'
+p1349
+aS'00'
+p1350
+aS'00'
+p1351
+aS'2b'
+p1352
+aS'2b'
+p1353
+aS'2b'
+p1354
+aS'2b'
+p1355
+asg73
+I588
+sg74
+I52398
+sg75
+S'-85'
+p1356
+sg77
+S'E-Plus'
+p1357
+sg79
+I00
+sg80
+g40
+sg81
+I987
+sba(ipyCatcherModel
+BaseStationInformation
+p1358
+(dp1359
+g6
+(lp1360
+sg8
+(lp1361
+S'59'
+p1362
+aS'06'
+p1363
+aS'1a'
+p1364
+aS'9b'
+p1365
+aS'e8'
+p1366
+aS'86'
+p1367
+aS'fc'
+p1368
+aS'0e'
+p1369
+aS'00'
+p1370
+aS'00'
+p1371
+aS'00'
+p1372
+aS'00'
+p1373
+aS'00'
+p1374
+aS'00'
+p1375
+aS'00'
+p1376
+aS'00'
+p1377
+aS'00'
+p1378
+aS'00'
+p1379
+aS'00'
+p1380
+aS'08'
+p1381
+aS'94'
+p1382
+aS'00'
+p1383
+aS'00'
+p1384
+asg33
+S'3,7'
+p1385
+sg35
+S'Germany'
+p1386
+sg37
+(dp1387
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:19:17'
+p1388
+sg48
+(lp1389
+S'01'
+p1390
+aS'06'
+p1391
+aS'03'
+p1392
+aS'df'
+p1393
+aS'91'
+p1394
+aS'49'
+p1395
+aS'20'
+p1396
+aS'2d'
+p1397
+aS'20'
+p1398
+aS'00'
+p1399
+aS'00'
+p1400
+aS'00'
+p1401
+aS'00'
+p1402
+aS'00'
+p1403
+aS'00'
+p1404
+aS'00'
+p1405
+aS'00'
+p1406
+aS'00'
+p1407
+aS'00'
+p1408
+aS'2b'
+p1409
+aS'2b'
+p1410
+aS'2b'
+p1411
+aS'2b'
+p1412
+asg73
+I588
+sg74
+I55258
+sg75
+S'-88'
+p1413
+sg77
+S'E-Plus'
+p1414
+sg79
+I00
+sg80
+g40
+sg81
+I990
+sba(ipyCatcherModel
+BaseStationInformation
+p1415
+(dp1416
+g6
+(lp1417
+sg8
+(lp1418
+S'59'
+p1419
+aS'06'
+p1420
+aS'1a'
+p1421
+aS'9f'
+p1422
+aS'84'
+p1423
+aS'80'
+p1424
+aS'00'
+p1425
+aS'08'
+p1426
+aS'0c'
+p1427
+aS'12'
+p1428
+aS'd2'
+p1429
+aS'f0'
+p1430
+aS'00'
+p1431
+aS'00'
+p1432
+aS'00'
+p1433
+aS'00'
+p1434
+aS'00'
+p1435
+aS'00'
+p1436
+aS'00'
+p1437
+aS'08'
+p1438
+aS'94'
+p1439
+aS'00'
+p1440
+aS'00'
+p1441
+asg33
+S'3,2'
+p1442
+sg35
+S'Germany'
+p1443
+sg37
+(dp1444
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:19:20'
+p1445
+sg48
+(lp1446
+S'01'
+p1447
+aS'06'
+p1448
+aS'03'
+p1449
+aS'df'
+p1450
+aS'eb'
+p1451
+aS'1c'
+p1452
+aS'a1'
+p1453
+aS'00'
+p1454
+aS'00'
+p1455
+aS'00'
+p1456
+aS'00'
+p1457
+aS'00'
+p1458
+aS'00'
+p1459
+aS'00'
+p1460
+aS'00'
+p1461
+aS'00'
+p1462
+aS'00'
+p1463
+aS'00'
+p1464
+aS'00'
+p1465
+aS'2b'
+p1466
+aS'2b'
+p1467
+aS'2b'
+p1468
+aS'2b'
+p1469
+asg73
+I588
+sg74
+I11768
+sg75
+S'-71'
+p1470
+sg77
+S'E-Plus'
+p1471
+sg79
+I00
+sg80
+g40
+sg81
+I823
+sba(ipyCatcherModel
+BaseStationInformation
+p1472
+(dp1473
+g6
+(lp1474
+sg8
+(lp1475
+S'59'
+p1476
+aS'06'
+p1477
+aS'1a'
+p1478
+aS'10'
+p1479
+aS'45'
+p1480
+aS'5c'
+p1481
+aS'00'
+p1482
+aS'00'
+p1483
+aS'00'
+p1484
+aS'54'
+p1485
+aS'42'
+p1486
+aS'a8'
+p1487
+aS'08'
+p1488
+aS'00'
+p1489
+aS'00'
+p1490
+aS'00'
+p1491
+aS'00'
+p1492
+aS'00'
+p1493
+aS'04'
+p1494
+aS'88'
+p1495
+aS'b9'
+p1496
+aS'00'
+p1497
+aS'00'
+p1498
+asg33
+S'7,3'
+p1499
+sg35
+S'Germany'
+p1500
+sg37
+(dp1501
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:19:24'
+p1502
+sg48
+(lp1503
+S'01'
+p1504
+aS'06'
+p1505
+aS'03'
+p1506
+aS'df'
+p1507
+aS'6a'
+p1508
+aS'a2'
+p1509
+aS'00'
+p1510
+aS'44'
+p1511
+aS'00'
+p1512
+aS'00'
+p1513
+aS'00'
+p1514
+aS'00'
+p1515
+aS'00'
+p1516
+aS'00'
+p1517
+aS'00'
+p1518
+aS'00'
+p1519
+aS'00'
+p1520
+aS'00'
+p1521
+aS'00'
+p1522
+aS'2b'
+p1523
+aS'2b'
+p1524
+aS'2b'
+p1525
+aS'2b'
+p1526
+asg73
+I793
+sg74
+I15081
+sg75
+S'-90'
+p1527
+sg77
+S'Vodafone'
+p1528
+sg79
+I00
+sg80
+g40
+sg81
+I1
+sba(ipyCatcherModel
+BaseStationInformation
+p1529
+(dp1530
+g6
+(lp1531
+sg8
+(lp1532
+S'59'
+p1533
+aS'06'
+p1534
+aS'1a'
+p1535
+aS'01'
+p1536
+aS'90'
+p1537
+aS'40'
+p1538
+aS'00'
+p1539
+aS'00'
+p1540
+aS'00'
+p1541
+aS'26'
+p1542
+aS'5a'
+p1543
+aS'07'
+p1544
+aS'04'
+p1545
+aS'00'
+p1546
+aS'00'
+p1547
+aS'00'
+p1548
+aS'00'
+p1549
+aS'01'
+p1550
+aS'02'
+p1551
+aS'88'
+p1552
+aS'b9'
+p1553
+aS'00'
+p1554
+aS'00'
+p1555
+asg33
+S'7,5'
+p1556
+sg35
+S'Germany'
+p1557
+sg37
+(dp1558
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:19:31'
+p1559
+sg48
+(lp1560
+S'01'
+p1561
+aS'06'
+p1562
+aS'03'
+p1563
+aS'cf'
+p1564
+aS'6b'
+p1565
+aS'00'
+p1566
+aS'00'
+p1567
+aS'00'
+p1568
+aS'00'
+p1569
+aS'00'
+p1570
+aS'00'
+p1571
+aS'00'
+p1572
+aS'00'
+p1573
+aS'00'
+p1574
+aS'00'
+p1575
+aS'00'
+p1576
+aS'00'
+p1577
+aS'00'
+p1578
+aS'00'
+p1579
+aS'2b'
+p1580
+aS'2b'
+p1581
+aS'2b'
+p1582
+aS'2b'
+p1583
+asg73
+I793
+sg74
+I17621
+sg75
+S'-90'
+p1584
+sg77
+S'Vodafone'
+p1585
+sg79
+I00
+sg80
+g40
+sg81
+I62
+sba(ipyCatcherModel
+BaseStationInformation
+p1586
+(dp1587
+g6
+(lp1588
+sg8
+(lp1589
+S'59'
+p1590
+aS'06'
+p1591
+aS'1a'
+p1592
+aS'08'
+p1593
+aS'00'
+p1594
+aS'00'
+p1595
+aS'00'
+p1596
+aS'00'
+p1597
+aS'82'
+p1598
+aS'00'
+p1599
+aS'00'
+p1600
+aS'00'
+p1601
+aS'00'
+p1602
+aS'41'
+p1603
+aS'20'
+p1604
+aS'80'
+p1605
+aS'10'
+p1606
+aS'00'
+p1607
+aS'00'
+p1608
+aS'88'
+p1609
+aS'a5'
+p1610
+aS'00'
+p1611
+aS'00'
+p1612
+asg33
+S'3,1'
+p1613
+sg35
+S'Germany'
+p1614
+sg37
+(dp1615
+g39
+g43
+sg41
+g43
+sg42
+g43
+sg44
+g43
+sg45
+g43
+ssg46
+S'17:19:35'
+p1616
+sg48
+(lp1617
+sg73
+I21014
+sg74
+I13319
+sg75
+S'-95'
+p1618
+sg77
+S'T-Mobile'
+p1619
+sg79
+I00
+sg80
+g43
+sg81
+I88
+sba(ipyCatcherModel
+BaseStationInformation
+p1620
+(dp1621
+g6
+(lp1622
+sg8
+(lp1623
+S'59'
+p1624
+aS'06'
+p1625
+aS'1a'
+p1626
+aS'9f'
+p1627
+aS'91'
+p1628
+aS'08'
+p1629
+aS'26'
+p1630
+aS'a6'
+p1631
+aS'00'
+p1632
+aS'00'
+p1633
+aS'00'
+p1634
+aS'00'
+p1635
+aS'00'
+p1636
+aS'00'
+p1637
+aS'00'
+p1638
+aS'00'
+p1639
+aS'00'
+p1640
+aS'00'
+p1641
+aS'00'
+p1642
+aS'08'
+p1643
+aS'94'
+p1644
+aS'00'
+p1645
+aS'00'
+p1646
+asg33
+S'3,1'
+p1647
+sg35
+S'Germany'
+p1648
+sg37
+(dp1649
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:19:38'
+p1650
+sg48
+(lp1651
+S'01'
+p1652
+aS'06'
+p1653
+aS'03'
+p1654
+aS'df'
+p1655
+aS'ec'
+p1656
+aS'71'
+p1657
+aS'08'
+p1658
+aS'00'
+p1659
+aS'00'
+p1660
+aS'00'
+p1661
+aS'00'
+p1662
+aS'00'
+p1663
+aS'00'
+p1664
+aS'00'
+p1665
+aS'00'
+p1666
+aS'00'
+p1667
+aS'00'
+p1668
+aS'00'
+p1669
+aS'00'
+p1670
+aS'2b'
+p1671
+aS'2b'
+p1672
+aS'2b'
+p1673
+aS'2b'
+p1674
+asg73
+I588
+sg74
+I7028
+sg75
+S'-91'
+p1675
+sg77
+S'E-Plus'
+p1676
+sg79
+I00
+sg80
+g40
+sg81
+I818
+sba(ipyCatcherModel
+BaseStationInformation
+p1677
+(dp1678
+g6
+(lp1679
+sg8
+(lp1680
+S'59'
+p1681
+aS'06'
+p1682
+aS'1a'
+p1683
+aS'9f'
+p1684
+aS'91'
+p1685
+aS'41'
+p1686
+aS'28'
+p1687
+aS'2d'
+p1688
+aS'20'
+p1689
+aS'00'
+p1690
+aS'00'
+p1691
+aS'00'
+p1692
+aS'00'
+p1693
+aS'00'
+p1694
+aS'00'
+p1695
+aS'00'
+p1696
+aS'00'
+p1697
+aS'00'
+p1698
+aS'00'
+p1699
+aS'08'
+p1700
+aS'94'
+p1701
+aS'00'
+p1702
+aS'00'
+p1703
+asg33
+S'3,5'
+p1704
+sg35
+S'Germany'
+p1705
+sg37
+(dp1706
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:19:41'
+p1707
+sg48
+(lp1708
+S'01'
+p1709
+aS'06'
+p1710
+aS'03'
+p1711
+aS'df'
+p1712
+aS'e8'
+p1713
+aS'80'
+p1714
+aS'44'
+p1715
+aS'00'
+p1716
+aS'00'
+p1717
+aS'00'
+p1718
+aS'00'
+p1719
+aS'00'
+p1720
+aS'00'
+p1721
+aS'00'
+p1722
+aS'00'
+p1723
+aS'00'
+p1724
+aS'00'
+p1725
+aS'00'
+p1726
+aS'00'
+p1727
+aS'2b'
+p1728
+aS'2b'
+p1729
+aS'2b'
+p1730
+aS'2b'
+p1731
+asg73
+I588
+sg74
+I7108
+sg75
+S'-100'
+p1732
+sg77
+S'E-Plus'
+p1733
+sg79
+I00
+sg80
+g40
+sg81
+I825
+sba(ipyCatcherModel
+BaseStationInformation
+p1734
+(dp1735
+g6
+(lp1736
+sg8
+(lp1737
+S'59'
+p1738
+aS'06'
+p1739
+aS'1a'
+p1740
+aS'11'
+p1741
+aS'55'
+p1742
+aS'08'
+p1743
+aS'00'
+p1744
+aS'00'
+p1745
+aS'00'
+p1746
+aS'42'
+p1747
+aS'02'
+p1748
+aS'89'
+p1749
+aS'08'
+p1750
+aS'00'
+p1751
+aS'00'
+p1752
+aS'00'
+p1753
+aS'00'
+p1754
+aS'00'
+p1755
+aS'41'
+p1756
+aS'88'
+p1757
+aS'b9'
+p1758
+aS'00'
+p1759
+aS'00'
+p1760
+asg33
+S'7,2'
+p1761
+sg35
+S'Germany'
+p1762
+sg37
+(dp1763
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:19:48'
+p1764
+sg48
+(lp1765
+S'01'
+p1766
+aS'06'
+p1767
+aS'03'
+p1768
+aS'df'
+p1769
+aS'6a'
+p1770
+aS'82'
+p1771
+aS'00'
+p1772
+aS'00'
+p1773
+aS'00'
+p1774
+aS'00'
+p1775
+aS'00'
+p1776
+aS'00'
+p1777
+aS'00'
+p1778
+aS'00'
+p1779
+aS'00'
+p1780
+aS'00'
+p1781
+aS'00'
+p1782
+aS'00'
+p1783
+aS'00'
+p1784
+aS'2b'
+p1785
+aS'2b'
+p1786
+aS'2b'
+p1787
+aS'2b'
+p1788
+asg73
+I793
+sg74
+I21782
+sg75
+S'-90'
+p1789
+sg77
+S'Vodafone'
+p1790
+sg79
+I00
+sg80
+g40
+sg81
+I107
+sba(ipyCatcherModel
+BaseStationInformation
+p1791
+(dp1792
+g6
+(lp1793
+sg8
+(lp1794
+S'59'
+p1795
+aS'06'
+p1796
+aS'1a'
+p1797
+aS'00'
+p1798
+aS'41'
+p1799
+aS'51'
+p1800
+aS'00'
+p1801
+aS'00'
+p1802
+aS'00'
+p1803
+aS'15'
+p1804
+aS'e0'
+p1805
+aS'20'
+p1806
+aS'40'
+p1807
+aS'00'
+p1808
+aS'00'
+p1809
+aS'00'
+p1810
+aS'00'
+p1811
+aS'00'
+p1812
+aS'04'
+p1813
+aS'88'
+p1814
+aS'b9'
+p1815
+aS'00'
+p1816
+aS'00'
+p1817
+asg33
+S'7,5'
+p1818
+sg35
+S'Germany'
+p1819
+sg37
+(dp1820
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:19:52'
+p1821
+sg48
+(lp1822
+S'01'
+p1823
+aS'06'
+p1824
+aS'03'
+p1825
+aS'cf'
+p1826
+aS'6a'
+p1827
+aS'a8'
+p1828
+aS'00'
+p1829
+aS'00'
+p1830
+aS'00'
+p1831
+aS'00'
+p1832
+aS'00'
+p1833
+aS'00'
+p1834
+aS'00'
+p1835
+aS'00'
+p1836
+aS'00'
+p1837
+aS'00'
+p1838
+aS'00'
+p1839
+aS'00'
+p1840
+aS'00'
+p1841
+aS'2b'
+p1842
+aS'2b'
+p1843
+aS'2b'
+p1844
+aS'2b'
+p1845
+asg73
+I793
+sg74
+I20481
+sg75
+S'-90'
+p1846
+sg77
+S'Vodafone'
+p1847
+sg79
+I00
+sg80
+g40
+sg81
+I65
+sba(ipyCatcherModel
+BaseStationInformation
+p1848
+(dp1849
+g6
+(lp1850
+sg8
+(lp1851
+S'59'
+p1852
+aS'06'
+p1853
+aS'1a'
+p1854
+aS'8f'
+p1855
+aS'3f'
+p1856
+aS'40'
+p1857
+aS'20'
+p1858
+aS'08'
+p1859
+aS'01'
+p1860
+aS'10'
+p1861
+aS'08'
+p1862
+aS'00'
+p1863
+aS'00'
+p1864
+aS'00'
+p1865
+aS'00'
+p1866
+aS'00'
+p1867
+aS'00'
+p1868
+aS'00'
+p1869
+aS'00'
+p1870
+aS'80'
+p1871
+aS'b9'
+p1872
+aS'00'
+p1873
+aS'00'
+p1874
+asg33
+S'7,6'
+p1875
+sg35
+S'Germany'
+p1876
+sg37
+(dp1877
+g39
+g43
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g43
+ssg46
+S'17:19:56'
+p1878
+sg48
+(lp1879
+S'49'
+p1880
+aS'06'
+p1881
+aS'03'
+p1882
+aS'cf'
+p1883
+aS'f5'
+p1884
+aS'92'
+p1885
+aS'a8'
+p1886
+aS'88'
+p1887
+aS'00'
+p1888
+aS'00'
+p1889
+aS'00'
+p1890
+aS'00'
+p1891
+aS'00'
+p1892
+aS'00'
+p1893
+aS'00'
+p1894
+aS'00'
+p1895
+aS'00'
+p1896
+aS'00'
+p1897
+aS'00'
+p1898
+aS'2b'
+p1899
+aS'2b'
+p1900
+aS'2b'
+p1901
+aS'2b'
+p1902
+asg73
+I50945
+sg74
+I59948
+sg75
+S'-100'
+p1903
+sg77
+S'O2'
+p1904
+sg79
+I00
+sg80
+g40
+sg81
+I666
+sba(ipyCatcherModel
+BaseStationInformation
+p1905
+(dp1906
+g6
+(lp1907
+sg8
+(lp1908
+S'59'
+p1909
+aS'06'
+p1910
+aS'1a'
+p1911
+aS'9f'
+p1912
+aS'91'
+p1913
+aS'08'
+p1914
+aS'24'
+p1915
+aS'ad'
+p1916
+aS'20'
+p1917
+aS'00'
+p1918
+aS'00'
+p1919
+aS'00'
+p1920
+aS'00'
+p1921
+aS'00'
+p1922
+aS'00'
+p1923
+aS'00'
+p1924
+aS'00'
+p1925
+aS'00'
+p1926
+aS'00'
+p1927
+aS'08'
+p1928
+aS'94'
+p1929
+aS'00'
+p1930
+aS'00'
+p1931
+asg33
+S'3,5'
+p1932
+sg35
+S'Germany'
+p1933
+sg37
+(dp1934
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:20:00'
+p1935
+sg48
+(lp1936
+S'01'
+p1937
+aS'06'
+p1938
+aS'03'
+p1939
+aS'df'
+p1940
+aS'ec'
+p1941
+aS'c4'
+p1942
+aS'08'
+p1943
+aS'00'
+p1944
+aS'00'
+p1945
+aS'00'
+p1946
+aS'00'
+p1947
+aS'00'
+p1948
+aS'00'
+p1949
+aS'00'
+p1950
+aS'00'
+p1951
+aS'00'
+p1952
+aS'00'
+p1953
+aS'00'
+p1954
+aS'00'
+p1955
+aS'2b'
+p1956
+aS'2b'
+p1957
+aS'2b'
+p1958
+aS'2b'
+p1959
+asg73
+I588
+sg74
+I36658
+sg75
+S'-74'
+p1960
+sg77
+S'E-Plus'
+p1961
+sg79
+I00
+sg80
+g40
+sg81
+I820
+sba(ipyCatcherModel
+BaseStationInformation
+p1962
+(dp1963
+g6
+(lp1964
+sg8
+(lp1965
+S'59'
+p1966
+aS'06'
+p1967
+aS'1a'
+p1968
+aS'10'
+p1969
+aS'45'
+p1970
+aS'1c'
+p1971
+aS'00'
+p1972
+aS'00'
+p1973
+aS'00'
+p1974
+aS'10'
+p1975
+aS'82'
+p1976
+aS'89'
+p1977
+aS'00'
+p1978
+aS'00'
+p1979
+aS'00'
+p1980
+aS'00'
+p1981
+aS'00'
+p1982
+aS'00'
+p1983
+aS'01'
+p1984
+aS'88'
+p1985
+aS'b9'
+p1986
+aS'00'
+p1987
+aS'00'
+p1988
+asg33
+S'7,1'
+p1989
+sg35
+S'Germany'
+p1990
+sg37
+(dp1991
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:20:05'
+p1992
+sg48
+(lp1993
+S'01'
+p1994
+aS'06'
+p1995
+aS'03'
+p1996
+aS'df'
+p1997
+aS'6a'
+p1998
+aS'82'
+p1999
+aS'00'
+p2000
+aS'40'
+p2001
+aS'00'
+p2002
+aS'00'
+p2003
+aS'00'
+p2004
+aS'00'
+p2005
+aS'00'
+p2006
+aS'00'
+p2007
+aS'00'
+p2008
+aS'00'
+p2009
+aS'00'
+p2010
+aS'00'
+p2011
+aS'00'
+p2012
+aS'2b'
+p2013
+aS'2b'
+p2014
+aS'2b'
+p2015
+aS'2b'
+p2016
+asg73
+I793
+sg74
+I21783
+sg75
+S'-90'
+p2017
+sg77
+S'Vodafone'
+p2018
+sg79
+I00
+sg80
+g40
+sg81
+I79
+sba(ipyCatcherModel
+BaseStationInformation
+p2019
+(dp2020
+g6
+(lp2021
+sg8
+(lp2022
+S'59'
+p2023
+aS'06'
+p2024
+aS'1a'
+p2025
+aS'9b'
+p2026
+aS'ec'
+p2027
+aS'04'
+p2028
+aS'fe'
+p2029
+aS'07'
+p2030
+aS'd8'
+p2031
+aS'00'
+p2032
+aS'00'
+p2033
+aS'00'
+p2034
+aS'00'
+p2035
+aS'00'
+p2036
+aS'00'
+p2037
+aS'00'
+p2038
+aS'00'
+p2039
+aS'00'
+p2040
+aS'00'
+p2041
+aS'08'
+p2042
+aS'94'
+p2043
+aS'00'
+p2044
+aS'00'
+p2045
+asg33
+S'3,3'
+p2046
+sg35
+S'Germany'
+p2047
+sg37
+(dp2048
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:20:10'
+p2049
+sg48
+(lp2050
+S'01'
+p2051
+aS'06'
+p2052
+aS'03'
+p2053
+aS'df'
+p2054
+aS'8c'
+p2055
+aS'10'
+p2056
+aS'02'
+p2057
+aS'88'
+p2058
+aS'20'
+p2059
+aS'00'
+p2060
+aS'00'
+p2061
+aS'00'
+p2062
+aS'00'
+p2063
+aS'00'
+p2064
+aS'00'
+p2065
+aS'00'
+p2066
+aS'00'
+p2067
+aS'00'
+p2068
+aS'00'
+p2069
+aS'2b'
+p2070
+aS'2b'
+p2071
+aS'2b'
+p2072
+aS'2b'
+p2073
+asg73
+I588
+sg74
+I60338
+sg75
+S'-90'
+p2074
+sg77
+S'E-Plus'
+p2075
+sg79
+I00
+sg80
+g40
+sg81
+I993
+sba(ipyCatcherModel
+BaseStationInformation
+p2076
+(dp2077
+g6
+(lp2078
+sg8
+(lp2079
+S'59'
+p2080
+aS'06'
+p2081
+aS'1a'
+p2082
+aS'01'
+p2083
+aS'41'
+p2084
+aS'4c'
+p2085
+aS'00'
+p2086
+aS'00'
+p2087
+aS'00'
+p2088
+aS'60'
+p2089
+aS'00'
+p2090
+aS'80'
+p2091
+aS'08'
+p2092
+aS'00'
+p2093
+aS'00'
+p2094
+aS'00'
+p2095
+aS'00'
+p2096
+aS'00'
+p2097
+aS'01'
+p2098
+aS'88'
+p2099
+aS'b9'
+p2100
+aS'00'
+p2101
+aS'00'
+p2102
+asg33
+S'3,6'
+p2103
+sg35
+S'Germany'
+p2104
+sg37
+(dp2105
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:20:14'
+p2106
+sg48
+(lp2107
+S'01'
+p2108
+aS'06'
+p2109
+aS'03'
+p2110
+aS'cf'
+p2111
+aS'6a'
+p2112
+aS'82'
+p2113
+aS'00'
+p2114
+aS'00'
+p2115
+aS'00'
+p2116
+aS'00'
+p2117
+aS'00'
+p2118
+aS'00'
+p2119
+aS'00'
+p2120
+aS'00'
+p2121
+aS'00'
+p2122
+aS'00'
+p2123
+aS'00'
+p2124
+aS'00'
+p2125
+aS'00'
+p2126
+aS'2b'
+p2127
+aS'2b'
+p2128
+aS'2b'
+p2129
+aS'2b'
+p2130
+asg73
+I793
+sg74
+I6911
+sg75
+S'-93'
+p2131
+sg77
+S'Vodafone'
+p2132
+sg79
+I00
+sg80
+g40
+sg81
+I66
+sba(ipyCatcherModel
+BaseStationInformation
+p2133
+(dp2134
+g6
+(lp2135
+sg8
+(lp2136
+S'59'
+p2137
+aS'06'
+p2138
+aS'1a'
+p2139
+aS'0c'
+p2140
+aS'00'
+p2141
+aS'00'
+p2142
+aS'09'
+p2143
+aS'01'
+p2144
+aS'00'
+p2145
+aS'00'
+p2146
+aS'00'
+p2147
+aS'00'
+p2148
+aS'01'
+p2149
+aS'04'
+p2150
+aS'20'
+p2151
+aS'00'
+p2152
+aS'15'
+p2153
+aS'00'
+p2154
+aS'00'
+p2155
+aS'88'
+p2156
+aS'a5'
+p2157
+aS'00'
+p2158
+aS'00'
+p2159
+asg33
+S'7,2'
+p2160
+sg35
+S'Germany'
+p2161
+sg37
+(dp2162
+g39
+g43
+sg41
+g43
+sg42
+g43
+sg44
+g43
+sg45
+g43
+ssg46
+S'17:20:17'
+p2163
+sg48
+(lp2164
+sg73
+I21014
+sg74
+I47562
+sg75
+S'-90'
+p2165
+sg77
+S'T-Mobile'
+p2166
+sg79
+I00
+sg80
+g43
+sg81
+I97
+sba(ipyCatcherModel
+BaseStationInformation
+p2167
+(dp2168
+g6
+(lp2169
+sg8
+(lp2170
+S'59'
+p2171
+aS'06'
+p2172
+aS'1a'
+p2173
+aS'8f'
+p2174
+aS'40'
+p2175
+aS'00'
+p2176
+aS'00'
+p2177
+aS'1c'
+p2178
+aS'04'
+p2179
+aS'08'
+p2180
+aS'06'
+p2181
+aS'00'
+p2182
+aS'01'
+p2183
+aS'41'
+p2184
+aS'01'
+p2185
+aS'00'
+p2186
+aS'00'
+p2187
+aS'00'
+p2188
+aS'00'
+p2189
+aS'80'
+p2190
+aS'b9'
+p2191
+aS'00'
+p2192
+aS'00'
+p2193
+asg33
+S'7,2'
+p2194
+sg35
+S'Germany'
+p2195
+sg37
+(dp2196
+g39
+g43
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g43
+ssg46
+S'17:20:21'
+p2197
+sg48
+(lp2198
+S'49'
+p2199
+aS'06'
+p2200
+aS'03'
+p2201
+aS'cf'
+p2202
+aS'fe'
+p2203
+aS'80'
+p2204
+aS'00'
+p2205
+aS'00'
+p2206
+aS'00'
+p2207
+aS'00'
+p2208
+aS'00'
+p2209
+aS'00'
+p2210
+aS'00'
+p2211
+aS'00'
+p2212
+aS'00'
+p2213
+aS'00'
+p2214
+aS'00'
+p2215
+aS'00'
+p2216
+aS'00'
+p2217
+aS'2b'
+p2218
+aS'2b'
+p2219
+aS'2b'
+p2220
+aS'2b'
+p2221
+asg73
+I50945
+sg74
+I9792
+sg75
+S'-97'
+p2222
+sg77
+S'O2'
+p2223
+sg79
+I00
+sg80
+g40
+sg81
+I657
+sba(ipyCatcherModel
+BaseStationInformation
+p2224
+(dp2225
+g6
+(lp2226
+sg8
+(lp2227
+S'59'
+p2228
+aS'06'
+p2229
+aS'1a'
+p2230
+aS'9f'
+p2231
+aS'8f'
+p2232
+aS'02'
+p2233
+aS'00'
+p2234
+aS'83'
+p2235
+aS'20'
+p2236
+aS'00'
+p2237
+aS'00'
+p2238
+aS'00'
+p2239
+aS'00'
+p2240
+aS'00'
+p2241
+aS'00'
+p2242
+aS'00'
+p2243
+aS'00'
+p2244
+aS'00'
+p2245
+aS'00'
+p2246
+aS'08'
+p2247
+aS'94'
+p2248
+aS'00'
+p2249
+aS'00'
+p2250
+asg33
+S'3,0'
+p2251
+sg35
+S'Germany'
+p2252
+sg37
+(dp2253
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:20:24'
+p2254
+sg48
+(lp2255
+S'01'
+p2256
+aS'06'
+p2257
+aS'03'
+p2258
+aS'df'
+p2259
+aS'ee'
+p2260
+aS'04'
+p2261
+aS'00'
+p2262
+aS'00'
+p2263
+aS'00'
+p2264
+aS'00'
+p2265
+aS'00'
+p2266
+aS'00'
+p2267
+aS'00'
+p2268
+aS'00'
+p2269
+aS'00'
+p2270
+aS'00'
+p2271
+aS'00'
+p2272
+aS'00'
+p2273
+aS'00'
+p2274
+aS'2b'
+p2275
+aS'2b'
+p2276
+aS'2b'
+p2277
+aS'2b'
+p2278
+asg73
+I588
+sg74
+I44363
+sg75
+S'-86'
+p2279
+sg77
+S'E-Plus'
+p2280
+sg79
+I00
+sg80
+g40
+sg81
+I798
+sba(ipyCatcherModel
+BaseStationInformation
+p2281
+(dp2282
+g6
+(lp2283
+sg8
+(lp2284
+S'59'
+p2285
+aS'06'
+p2286
+aS'1a'
+p2287
+aS'9f'
+p2288
+aS'8f'
+p2289
+aS'06'
+p2290
+aS'a0'
+p2291
+aS'87'
+p2292
+aS'64'
+p2293
+aS'00'
+p2294
+aS'00'
+p2295
+aS'00'
+p2296
+aS'00'
+p2297
+aS'00'
+p2298
+aS'00'
+p2299
+aS'00'
+p2300
+aS'00'
+p2301
+aS'00'
+p2302
+aS'00'
+p2303
+aS'08'
+p2304
+aS'94'
+p2305
+aS'00'
+p2306
+aS'00'
+p2307
+asg33
+S'3,1'
+p2308
+sg35
+S'Germany'
+p2309
+sg37
+(dp2310
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:20:30'
+p2311
+sg48
+(lp2312
+S'01'
+p2313
+aS'06'
+p2314
+aS'03'
+p2315
+aS'df'
+p2316
+aS'e9'
+p2317
+aS'96'
+p2318
+aS'c2'
+p2319
+aS'40'
+p2320
+aS'00'
+p2321
+aS'00'
+p2322
+aS'00'
+p2323
+aS'00'
+p2324
+aS'00'
+p2325
+aS'00'
+p2326
+aS'00'
+p2327
+aS'00'
+p2328
+aS'00'
+p2329
+aS'00'
+p2330
+aS'00'
+p2331
+aS'2b'
+p2332
+aS'2b'
+p2333
+aS'2b'
+p2334
+aS'2b'
+p2335
+asg73
+I588
+sg74
+I44353
+sg75
+S'-94'
+p2336
+sg77
+S'E-Plus'
+p2337
+sg79
+I00
+sg80
+g40
+sg81
+I804
+sba(ipyCatcherModel
+BaseStationInformation
+p2338
+(dp2339
+g6
+(lp2340
+sg8
+(lp2341
+S'59'
+p2342
+aS'06'
+p2343
+aS'1a'
+p2344
+aS'8f'
+p2345
+aS'dd'
+p2346
+aS'8b'
+p2347
+aS'00'
+p2348
+aS'00'
+p2349
+aS'00'
+p2350
+aS'00'
+p2351
+aS'00'
+p2352
+aS'00'
+p2353
+aS'00'
+p2354
+aS'00'
+p2355
+aS'00'
+p2356
+aS'00'
+p2357
+aS'00'
+p2358
+aS'00'
+p2359
+aS'00'
+p2360
+aS'80'
+p2361
+aS'79'
+p2362
+aS'00'
+p2363
+aS'00'
+p2364
+asg33
+S'7,1'
+p2365
+sg35
+S'Germany'
+p2366
+sg37
+(dp2367
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:20:33'
+p2368
+sg48
+(lp2369
+sg73
+I6052
+sg74
+I1457
+sg75
+S'-94'
+p2370
+sg77
+S'DB Systel GSM-R'
+p2371
+sg79
+I00
+sg80
+g40
+sg81
+I957
+sba(ipyCatcherModel
+BaseStationInformation
+p2372
+(dp2373
+g6
+(lp2374
+sg8
+(lp2375
+S'59'
+p2376
+aS'06'
+p2377
+aS'1a'
+p2378
+aS'9b'
+p2379
+aS'e9'
+p2380
+aS'06'
+p2381
+aS'7b'
+p2382
+aS'0b'
+p2383
+aS'f7'
+p2384
+aS'a1'
+p2385
+aS'07'
+p2386
+aS'e0'
+p2387
+aS'00'
+p2388
+aS'00'
+p2389
+aS'00'
+p2390
+aS'00'
+p2391
+aS'00'
+p2392
+aS'00'
+p2393
+aS'00'
+p2394
+aS'08'
+p2395
+aS'94'
+p2396
+aS'00'
+p2397
+aS'00'
+p2398
+asg33
+S'3,3'
+p2399
+sg35
+S'Germany'
+p2400
+sg37
+(dp2401
+g39
+g40
+sg41
+g40
+sg42
+g43
+sg44
+g40
+sg45
+g40
+ssg46
+S'17:20:36'
+p2402
+sg48
+(lp2403
+S'01'
+p2404
+aS'06'
+p2405
+aS'03'
+p2406
+aS'df'
+p2407
+aS'86'
+p2408
+aS'00'
+p2409
+aS'00'
+p2410
+aS'00'
+p2411
+aS'48'
+p2412
+aS'13'
+p2413
+aS'50'
+p2414
+aS'00'
+p2415
+aS'00'
+p2416
+aS'00'
+p2417
+aS'00'
+p2418
+aS'00'
+p2419
+aS'00'
+p2420
+aS'00'
+p2421
+aS'00'
+p2422
+aS'2b'
+p2423
+aS'2b'
+p2424
+aS'2b'
+p2425
+aS'2b'
+p2426
+asg73
+I588
+sg74
+I46213
+sg75
+S'-95'
+p2427
+sg77
+S'E-Plus'
+p2428
+sg79
+I00
+sg80
+g40
+sg81
+I992
+sbasb. \ No newline at end of file
diff --git a/Src/PyCatcher/src/driverConnector.py b/Src/PyCatcher/src/driverConnector.py
index 0b0703b..de8a0d4 100644
--- a/Src/PyCatcher/src/driverConnector.py
+++ b/Src/PyCatcher/src/driverConnector.py
@@ -123,16 +123,16 @@ class ScanThread(threading.Thread):
match = re.search(r'si2\s(.+)',line)
if match:
base_station.system_info_t2 = match.group(1).split(' ')
- #get si2bis
- line = scan_process.stdout.readline()
- match = re.search(r'si2bis\s(.+)',line)
- if match:
- base_station.system_info_t2bis = match.group(1).split(' ')
#get si2ter
line = scan_process.stdout.readline()
match = re.search(r'si2ter\s(.+)',line)
if match:
base_station.system_info_t2ter = match.group(1).split(' ')
+ #get si2bis
+ line = scan_process.stdout.readline()
+ match = re.search(r'si2bis\s(.+)',line)
+ if match:
+ base_station.system_info_t2bis = match.group(1).split(' ')
#endinfo
scan_process.stdout.readline()
diff --git a/Src/PyCatcher/src/evaluators.py b/Src/PyCatcher/src/evaluators.py
index 3170f4a..de624fa 100644
--- a/Src/PyCatcher/src/evaluators.py
+++ b/Src/PyCatcher/src/evaluators.py
@@ -4,6 +4,11 @@ class EvaluatorSelect:
CONSERVATIVE = 0
WEIGHTED = 1
BAYES = 2
+ MACHINE = 3
+
+class StationClass:
+ BASE_STATION = 0
+ CATCHER = 1
class Evaluator:
@@ -28,4 +33,7 @@ class BayesEvaluator(Evaluator):
return_type = type(int)
class WeightedEvaluator(Evaluator):
- return_type = type(int) \ No newline at end of file
+ return_type = type(int)
+
+class MachineLearningEvaluator(Evaluator):
+ return_type = type(StationClass) \ No newline at end of file
diff --git a/Src/PyCatcher/src/pyCatcherController.py b/Src/PyCatcher/src/pyCatcherController.py
index af2e0a5..9dce790 100644
--- a/Src/PyCatcher/src/pyCatcherController.py
+++ b/Src/PyCatcher/src/pyCatcherController.py
@@ -5,7 +5,7 @@ from pyCatcherModel import BaseStationInformation, BaseStationInformationList
from pyCatcherView import PyCatcherGUI
from filters import ARFCNFilter,FoundFilter,ProviderFilter
from evaluators import EvaluatorSelect, BayesEvaluator, ConservativeEvaluator, WeightedEvaluator
-from rules import ProviderRule
+from rules import ProviderRule, ARFCNMappingRule, CountryMappingRule, LACMappingRule, UniqueCellIDRule, LACIntegrityRule
import pickle
class PyCatcherController:
@@ -17,10 +17,10 @@ class PyCatcherController:
self._gui = PyCatcherGUI(self)
self._driver_connector = DriverConnector()
self._gui.log_line('GUI initialized')
-
- self.arfcn_filter = ARFCNFilter()
+
+ self.arfcn_filter = ARFCNFilter()
self.provider_filter = ProviderFilter()
- self.found_filter = FoundFilter()
+ #self.found_filter = FoundFilter()
self._filters = [self.arfcn_filter, self.provider_filter]
@@ -31,7 +31,17 @@ class PyCatcherController:
self.provider_rule = ProviderRule()
self.provider_rule.is_active = True
- self._rules = [self.provider_rule]
+ self.country_mapping_rule = CountryMappingRule()
+ self.country_mapping_rule.is_active = True
+ self.arfcn_mapping_rule = ARFCNMappingRule()
+ self.arfcn_mapping_rule.is_active = True
+ self.lac_mapping_rule = LACMappingRule()
+ self.lac_mapping_rule.is_active = True
+ self.unique_cell_id_rule = UniqueCellIDRule()
+ self.unique_cell_id_rule.is_active = True
+
+ self._rules = [self.provider_rule, self.country_mapping_rule, self.arfcn_mapping_rule, self.lac_mapping_rule,
+ self.unique_cell_id_rule]
gtk.main()
@@ -60,16 +70,13 @@ class PyCatcherController:
def _found_base_station_callback(self, base_station):
self._gui.log_line("found " + base_station.provider + ' (' + str(base_station.arfcn) + ')')
self._base_station_list.add_station(base_station)
- self._base_station_list.evaluate(self._rules, self._active_evaluator)
- self._base_station_list.refill_store(self.bs_tree_list_data)
- dotcode = self._base_station_list.get_dot_code(self._filters, self.found_filter)
- self._gui.load_dot(dotcode)
+ self.trigger_evaluation()
def trigger_redraw(self):
- dotcode = self._base_station_list.get_dot_code(self._filters,self.found_filter)
+ dotcode = self._base_station_list.get_dot_code(self._filters)#,self.found_filter)
if dotcode != 'digraph bsnetwork { }':
self._gui.load_dot(dotcode)
-
+
def _firmware_waiting_callback(self):
self._gui.log_line("firmware waiting for device")
self._gui.show_info('Switch on the phone now.', 'Firmware')
@@ -99,9 +106,11 @@ class PyCatcherController:
filehandler = open(path, 'r')
base_station_list = pickle.load(filehandler)
self._base_station_list = base_station_list
+ self.trigger_evaluation()
+ filehandler.close()
+ self._gui.log_line('Project loaded from ' + path)
+
+ def trigger_evaluation(self):
self._base_station_list.evaluate(self._rules, self._active_evaluator)
self._base_station_list.refill_store(self.bs_tree_list_data)
- dotcode = self._base_station_list.get_dot_code(self._filters, self.found_filter)
- self._gui.load_dot(dotcode)
- filehandler.close()
- self._gui.log_line('Project leaded from ' + path) \ No newline at end of file
+ self.trigger_redraw() \ No newline at end of file
diff --git a/Src/PyCatcher/src/pyCatcherModel.py b/Src/PyCatcher/src/pyCatcherModel.py
index 0d5fb91..20f4ab7 100644
--- a/Src/PyCatcher/src/pyCatcherModel.py
+++ b/Src/PyCatcher/src/pyCatcherModel.py
@@ -64,7 +64,7 @@ Evaluation: %s\n
report_rules ='------- Rule Results -----------\n'
for key in self.rules_report.keys():
- report_rules += str(key) + ': ' + str(self.rules_report[key])
+ report_rules += str(key) + ': ' + str(self.rules_report[key]) + '\n'
report_rules +='\n\n'
report_raw = '''------- Raw Information -----------
SystemInfo_2: %s
diff --git a/Src/PyCatcher/src/pyCatcherView.py b/Src/PyCatcher/src/pyCatcherView.py
index b9613f0..d20e8ca 100644
--- a/Src/PyCatcher/src/pyCatcherView.py
+++ b/Src/PyCatcher/src/pyCatcherView.py
@@ -69,15 +69,20 @@ class PyCatcherGUI:
else:
self._catcher_controller.arfcn_filter.is_active = False
- if self._builder.get_object('cb_only_scanned_bs').get_active():
- self._catcher_controller.found_filter.is_active = True
- else:
- self._catcher_controller.found_filter.is_active = False
+ #if self._builder.get_object('cb_only_scanned_bs').get_active():
+ # self._catcher_controller.found_filter.is_active = True
+ #else:
+ # self._catcher_controller.found_filter.is_active = False
self._catcher_controller.trigger_redraw()
def _update_rules(self):
- pass
+ self._catcher_controller.provider_rule.is_active = self._builder.get_object('cb_provider_known').get_active()
+ self._catcher_controller.country_mapping_rule.is_active = self._builder.get_object('cb_country_provider').get_active()
+ self._catcher_controller.arfcn_mapping_rule.is_active = self._builder.get_object('cb_arfcn_provider').get_active()
+ self._catcher_controller.lac_mapping_rule.is_active = self._builder.get_object('cb_lac_provider').get_active()
+ self._catcher_controller.unique_cell_id_rule.is_active = self._builder.get_object('cb_uniqueness').get_active()
+ self._catcher_controller.trigger_evaluation()
def _update_evaluators(self):
pass
diff --git a/Src/PyCatcher/src/rules.py b/Src/PyCatcher/src/rules.py
index 8575766..6ec7f3e 100644
--- a/Src/PyCatcher/src/rules.py
+++ b/Src/PyCatcher/src/rules.py
@@ -1,5 +1,4 @@
-import pyCatcherModel
-from settings import Provider_list, Provider_Country_list
+from settings import Provider_list, Provider_Country_list, LAC_mapping, ARFCN_mapping
class RuleResult:
OK = 'Ok'
@@ -7,7 +6,6 @@ class RuleResult:
CRITICAL = 'Critical'
class Rule:
-
is_active = False
identifier = 'Rule'
@@ -15,7 +13,6 @@ class Rule:
return RuleResult.CRITICAL
class ProviderRule (Rule):
-
identifier = 'Provider Check'
def check(self, arfcn, base_station_list):
@@ -27,23 +24,67 @@ class ProviderRule (Rule):
break
return result
-class CountryProvider (Rule):
- pass
+class CountryMappingRule (Rule):
+ identifier = 'Country Provider Mapping'
+
+ def check(self, arfcn, base_station_list):
+ result = RuleResult.OK
+ for station in base_station_list:
+ if station.arfcn == arfcn:
+ if station.provider in Provider_Country_list:
+ if station.country != Provider_Country_list[station.provider]:
+ result = RuleResult.CRITICAL
+ else:
+ result = RuleResult.CRITICAL
+ return result
+
+class ARFCNMappingRule (Rule):
+ identifier = 'ARFCN Mapping'
+
+ def check(self, arfcn, base_station_list):
+ result = RuleResult.CRITICAL
+ for station in base_station_list:
+ if station.arfcn == arfcn:
+ if station.provider in ARFCN_mapping:
+ if ARFCN_mapping[station.provider][0] < station.arfcn < ARFCN_mapping[station.provider][1]:
+ result = RuleResult.OK
+ return result
+
+class LACMappingRule (Rule):
+ identifier = 'LAC Mapping'
-class BSICIntegrity (Rule):
- pass
+ def check(self, arfcn, base_station_list):
+ result = RuleResult.CRITICAL
+ for station in base_station_list:
+ if station.arfcn == arfcn:
+ if station.provider in LAC_mapping:
+ if LAC_mapping[station.provider][0] < station.lac < LAC_mapping[station.provider][1]:
+ result = RuleResult.OK
+ return result
-class Uniqueness (Rule):
- pass
+class LACIntegrityRule (Rule):
+ identifier = 'LAC Integrity'
-class NeighbourhoodStructure (Rule):
- pass
+class UniqueCellIDRule (Rule):
+ identifier = 'Unique CellID'
+
+ def check(self, arfcn, base_station_list):
+ result = RuleResult.OK
+ cell_id = 0
+ for station in base_station_list:
+ if station.arfcn == arfcn:
+ cell_id = station.cell
+ for station in base_station_list:
+ if station.arfcn != arfcn:
+ if station.cell == cell_id:
+ result = RuleResult.CRITICAL
+ return result
-class LACIntegrity (Rule):
- pass
+class NeighbourhoodStructureRule (Rule):
+ identifier = 'Neighbourhood Structure'
-class CellIDDatabase (Rule):
- pass
+class CellIDDatabaseRule (Rule):
+ identifier = 'CellID Database'
-class MachineLearning (Rule):
- pass \ No newline at end of file
+class BDDLearningRule (Rule):
+ identifier = 'BDD Learning' \ No newline at end of file
diff --git a/Src/PyCatcher/src/settings.py b/Src/PyCatcher/src/settings.py
index 7ad42fe..048a8aa 100644
--- a/Src/PyCatcher/src/settings.py
+++ b/Src/PyCatcher/src/settings.py
@@ -22,12 +22,18 @@ Commands = {'osmocon_command' : [Osmocon_lib + '/host/osmocon/osmocon',
Provider_list = ['T-Mobile', 'O2']
Provider_Country_list = {
-'T-Mobile':'Germany',
-'O2':'France'
+ 'T-Mobile':'Germany',
+ 'O2':'France'
}
-LAC_mappings = {
+LAC_mapping = {
+ 'T-Mobile' : [21000,22000],
+ 'O2' : [0,9999]
+}
+ARFCN_mapping = {
+ 'T-Mobile' : [0,9999],
+ 'O2' : [0,9999]
}
BSIC_database = ''
diff --git a/Src/osmolib/src/host/layer23/src/misc/catcher.c b/Src/osmolib/src/host/layer23/src/misc/catcher.c
index f4a69f0..754ad60 100644
--- a/Src/osmolib/src/host/layer23/src/misc/catcher.c
+++ b/Src/osmolib/src/host/layer23/src/misc/catcher.c
@@ -203,10 +203,10 @@ static void log_sysinfo(void)
// log_frame("si1", s->si1_msg);
if (s->si2)
log_frame("si2", s->si2_msg);
- if (s->si2bis)
- log_frame("si2bis", s->si2b_msg);
if (s->si2ter)
log_frame("si2ter", s->si2t_msg);
+ if (s->si2bis)
+ log_frame("si2bis", s->si2b_msg);
//if (s->si3)
// log_frame("si3", s->si3_msg);
//if (s->si4)
diff --git a/Src/osmolib/src/shared/libosmocore/build-host/tests/a5/a5_test b/Src/osmolib/src/shared/libosmocore/build-host/tests/a5/a5_test
index c169f80..92a7e35 100755
--- a/Src/osmolib/src/shared/libosmocore/build-host/tests/a5/a5_test
+++ b/Src/osmolib/src/shared/libosmocore/build-host/tests/a5/a5_test
@@ -31,7 +31,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-relink_command="(cd /home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/tests/a5; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file a5_test.o ../../src/.libs/libosmocore.so ../../src/gsm/.libs/libosmogsm.so -Wl,-rpath -Wl,/home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/src/.libs -Wl,-rpath -Wl,/home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/src/gsm/.libs)"
+relink_command="(cd /home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/tests/a5; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file a5_test.o ../../src/.libs/libosmocore.so ../../src/gsm/.libs/libosmogsm.so -Wl,-rpath -Wl,/home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/src/.libs -Wl,-rpath -Wl,/home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/src/gsm/.libs)"
# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
diff --git a/Src/osmolib/src/shared/libosmocore/build-host/tests/auth/milenage_test b/Src/osmolib/src/shared/libosmocore/build-host/tests/auth/milenage_test
index b6bef92..3d859b1 100755
--- a/Src/osmolib/src/shared/libosmocore/build-host/tests/auth/milenage_test
+++ b/Src/osmolib/src/shared/libosmocore/build-host/tests/auth/milenage_test
@@ -31,7 +31,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-relink_command="(cd /home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/tests/auth; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file milenage_test.o ../../src/.libs/libosmocore.so ../../src/gsm/.libs/libosmogsm.so -Wl,-rpath -Wl,/home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/src/.libs -Wl,-rpath -Wl,/home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/src/gsm/.libs)"
+relink_command="(cd /home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/tests/auth; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file milenage_test.o ../../src/.libs/libosmocore.so ../../src/gsm/.libs/libosmogsm.so -Wl,-rpath -Wl,/home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/src/.libs -Wl,-rpath -Wl,/home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/src/gsm/.libs)"
# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
diff --git a/Src/osmolib/src/shared/libosmocore/build-host/tests/bits/bitrev_test b/Src/osmolib/src/shared/libosmocore/build-host/tests/bits/bitrev_test
index 9d063d1..f913484 100755
--- a/Src/osmolib/src/shared/libosmocore/build-host/tests/bits/bitrev_test
+++ b/Src/osmolib/src/shared/libosmocore/build-host/tests/bits/bitrev_test
@@ -31,7 +31,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-relink_command="(cd /home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/tests/bits; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file bitrev_test.o ../../src/.libs/libosmocore.so -Wl,-rpath -Wl,/home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/src/.libs)"
+relink_command="(cd /home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/tests/bits; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file bitrev_test.o ../../src/.libs/libosmocore.so -Wl,-rpath -Wl,/home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/src/.libs)"
# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
diff --git a/Src/osmolib/src/shared/libosmocore/build-host/tests/conv/conv_test b/Src/osmolib/src/shared/libosmocore/build-host/tests/conv/conv_test
index d0ca113..d8490c4 100755
--- a/Src/osmolib/src/shared/libosmocore/build-host/tests/conv/conv_test
+++ b/Src/osmolib/src/shared/libosmocore/build-host/tests/conv/conv_test
@@ -31,7 +31,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-relink_command="(cd /home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/tests/conv; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file conv_test.o ../../src/.libs/libosmocore.so -Wl,-rpath -Wl,/home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/src/.libs)"
+relink_command="(cd /home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/tests/conv; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file conv_test.o ../../src/.libs/libosmocore.so -Wl,-rpath -Wl,/home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/src/.libs)"
# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
diff --git a/Src/osmolib/src/shared/libosmocore/build-host/tests/gsm0808/gsm0808_test b/Src/osmolib/src/shared/libosmocore/build-host/tests/gsm0808/gsm0808_test
index 62f2291..237b34e 100755
--- a/Src/osmolib/src/shared/libosmocore/build-host/tests/gsm0808/gsm0808_test
+++ b/Src/osmolib/src/shared/libosmocore/build-host/tests/gsm0808/gsm0808_test
@@ -31,7 +31,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-relink_command="(cd /home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/tests/gsm0808; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file gsm0808_test.o ../../src/.libs/libosmocore.so ../../src/gsm/.libs/libosmogsm.so -Wl,-rpath -Wl,/home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/src/.libs -Wl,-rpath -Wl,/home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/src/gsm/.libs)"
+relink_command="(cd /home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/tests/gsm0808; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file gsm0808_test.o ../../src/.libs/libosmocore.so ../../src/gsm/.libs/libosmogsm.so -Wl,-rpath -Wl,/home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/src/.libs -Wl,-rpath -Wl,/home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/src/gsm/.libs)"
# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
diff --git a/Src/osmolib/src/shared/libosmocore/build-host/tests/lapd/lapd_test b/Src/osmolib/src/shared/libosmocore/build-host/tests/lapd/lapd_test
index a4bb289..b956114 100755
--- a/Src/osmolib/src/shared/libosmocore/build-host/tests/lapd/lapd_test
+++ b/Src/osmolib/src/shared/libosmocore/build-host/tests/lapd/lapd_test
@@ -31,7 +31,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-relink_command="(cd /home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/tests/lapd; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file lapd_test.o ../../src/.libs/libosmocore.so ../../src/gsm/.libs/libosmogsm.so -Wl,-rpath -Wl,/home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/src/.libs -Wl,-rpath -Wl,/home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/src/gsm/.libs)"
+relink_command="(cd /home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/tests/lapd; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file lapd_test.o ../../src/.libs/libosmocore.so ../../src/gsm/.libs/libosmogsm.so -Wl,-rpath -Wl,/home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/src/.libs -Wl,-rpath -Wl,/home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/src/gsm/.libs)"
# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
diff --git a/Src/osmolib/src/shared/libosmocore/build-host/utils/osmo-arfcn b/Src/osmolib/src/shared/libosmocore/build-host/utils/osmo-arfcn
index f4b3fc1..cf48cc8 100755
--- a/Src/osmolib/src/shared/libosmocore/build-host/utils/osmo-arfcn
+++ b/Src/osmolib/src/shared/libosmocore/build-host/utils/osmo-arfcn
@@ -31,7 +31,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-relink_command="(cd /home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/utils; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file osmo-arfcn.o ../src/.libs/libosmocore.so ../src/gsm/.libs/libosmogsm.so -Wl,-rpath -Wl,/home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/src/.libs -Wl,-rpath -Wl,/home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/src/gsm/.libs)"
+relink_command="(cd /home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/utils; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file osmo-arfcn.o ../src/.libs/libosmocore.so ../src/gsm/.libs/libosmogsm.so -Wl,-rpath -Wl,/home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/src/.libs -Wl,-rpath -Wl,/home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/src/gsm/.libs)"
# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
diff --git a/Src/osmolib/src/shared/libosmocore/build-host/utils/osmo-auc-gen b/Src/osmolib/src/shared/libosmocore/build-host/utils/osmo-auc-gen
index 69bb486..dbc8dfc 100755
--- a/Src/osmolib/src/shared/libosmocore/build-host/utils/osmo-auc-gen
+++ b/Src/osmolib/src/shared/libosmocore/build-host/utils/osmo-auc-gen
@@ -31,7 +31,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-relink_command="(cd /home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/utils; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file osmo-auc-gen.o ../src/.libs/libosmocore.so ../src/gsm/.libs/libosmogsm.so -Wl,-rpath -Wl,/home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/src/.libs -Wl,-rpath -Wl,/home/tom/test/osmocom-bb/src/shared/libosmocore/build-host/src/gsm/.libs)"
+relink_command="(cd /home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/utils; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin; export PATH; gcc -g -O2 -o \$progdir/\$file osmo-auc-gen.o ../src/.libs/libosmocore.so ../src/gsm/.libs/libosmogsm.so -Wl,-rpath -Wl,/home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/src/.libs -Wl,-rpath -Wl,/home/tom/imsi-catcher-detection/Src/osmolib/src/shared/libosmocore/build-host/src/gsm/.libs)"
# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then