From Newsgroup: alt.comp.os.windows-10
Chris wrote:
It really amounts to some sort of sloppy workmanship.
Correct. Which has been highlighted to Donald. The GPS coords are converted to floats thereby introducing imprecision and he reports them unrounded.
Having an undergrad degree in the sciences (with a grad degree in engineering), I'm very familiar with Paul's "lab accident"
characterization, which I appreciate, since credibility of good results is
all that I care for.
Hence, I've modified the two scripts to produce both the ORIGINAL data
found in Apple's highly insecure WPS database that computers use, and the GPS-lookup-usable conversions to decimal places that humans use.
Here is a snippet of the results when looking up this particular BSSID
which happens to be located in Chris Hayes Recreation Center in Mooetown Park in Shreveport, Louisiana, near the Shreveport Regional Airport
<
https://www.google.com/maps/search/?api=1&query=32.459904,-93.813843>
bssid.bat
Enter the BSSID: 00:18:f8:c1:4a:65
You'll get a map of where that AP is in that building, plus a listing
of up to 400 nearby access point locations (which fermium can map en masse).
Enter the BSSID (or q to quit): 00:18:f8:c1:4a:65 -----------------------------------------------
=== Lookup started at Fri 12/19/2025 8:28:03.55 ===
BSSID: 00:18:f8:c1:4a:65
Searching for location of bssid: 00:18:f8:c1:4a:65
BSSID: 00:18:f8:c1:4a:65
Raw latitude integer: 3245990371
Raw longitude integer: -9381384277
Latitude (degrees): 32.459904
Longitude (degrees): -93.813843
BSSID: 02:aa:a0:e3:5f:38
Raw latitude integer: 3245890808
Raw longitude integer: -9381494903
Latitude (degrees): 32.458908
Longitude (degrees): -93.814949
BSSID: 44:1c:12:99:23:58
Raw latitude integer: 3245909881
Raw longitude integer: -9381492614
Latitude (degrees): 32.459099
Longitude (degrees): -93.814926
BSSID: 44:1c:12:99:23:5b
Raw latitude integer: 3245910644
Raw longitude integer: -9381491088
Latitude (degrees): 32.459106
Longitude (degrees): -93.814911
BSSID: 44:1c:12:99:23:5d
Raw latitude integer: 3245910644
Raw longitude integer: -9381491851
Latitude (degrees): 32.459106
Longitude (degrees): -93.814919
BSSID: 44:1c:12:99:23:5e
Raw latitude integer: 3245911026
Raw longitude integer: -9381491088
Latitude (degrees): 32.459110
Longitude (degrees): -93.814911
BSSID: 06:aa:a0:e3:5f:38
Raw latitude integer: 3245891952
Raw longitude integer: -9381494903
Latitude (degrees): 32.458920
Longitude (degrees): -93.814949
BSSID: 72:13:01:01:99:9a
Raw latitude integer: 3245920944
Raw longitude integer: -9381445312
Latitude (degrees): 32.459209
Longitude (degrees): -93.814453
BSSID: 72:13:01:01:99:9d
Raw latitude integer: 3245919036
Raw longitude integer: -9381446838
Latitude (degrees): 32.459190
Longitude (degrees): -93.814468
BSSID: ec:aa:a0:e3:5f:38
Raw latitude integer: 3245891571
Raw longitude integer: -9381494140
Latitude (degrees): 32.458916
Longitude (degrees): -93.814941
BSSID: fa:aa:a0:e3:5f:38
Raw latitude integer: 3245891571
Raw longitude integer: -9381493377
Latitude (degrees): 32.458916
Longitude (degrees): -93.814934
BSSID: 12:36:aa:7d:3d:b1
Raw latitude integer: 3245915603
Raw longitude integer: -9381276702
Latitude (degrees): 32.459156
Longitude (degrees): -93.812767
BSSID: 12:36:aa:7d:3d:b2
Raw latitude integer: 3245915222
Raw longitude integer: -9381278228
Latitude (degrees): 32.459152
Longitude (degrees): -93.812782
BSSID: 12:36:aa:7d:3d:b6
Raw latitude integer: 3245914840
Raw longitude integer: -9381275177
Latitude (degrees): 32.459148
Longitude (degrees): -93.812752
BSSID: 12:36:aa:c2:2c:01
Raw latitude integer: 3245956802
Raw longitude integer: -9381256103
Latitude (degrees): 32.459568
Longitude (degrees): -93.812561
BSSID: 12:59:32:64:b2:bc
Raw latitude integer: 3245960617
Raw longitude integer: -9381244659
Latitude (degrees): 32.459606
Longitude (degrees): -93.812447
BSSID: 14:c0:3e:38:ef:36
Raw latitude integer: 3245923614
Raw longitude integer: -9381269073
Latitude (degrees): 32.459236
Longitude (degrees): -93.812691
BSSID: 16:c0:3e:38:ef:36
Raw latitude integer: 3245925140
Raw longitude integer: -9381269836
Latitude (degrees): 32.459251
Longitude (degrees): -93.812698
BSSID: 1a:c0:3e:38:ef:36
Raw latitude integer: 3245925140
Raw longitude integer: -9381269073
Latitude (degrees): 32.459251
Longitude (degrees): -93.812691
BSSID: 02:aa:a0:79:a6:b8
Raw latitude integer: 3245920181
Raw longitude integer: -9381246185
Latitude (degrees): 32.459202
Longitude (degrees): -93.812462
BSSID: 38:17:b1:28:28:46
Raw latitude integer: 3245931625
Raw longitude integer: -9381245422
Latitude (degrees): 32.459316
Longitude (degrees): -93.812454
BSSID: 40:48:6e:f1:9f:34
Raw latitude integer: 3245958328
Raw longitude integer: -9381306457
Latitude (degrees): 32.459583
Longitude (degrees): -93.813065
BSSID: 42:17:b1:28:28:46
Raw latitude integer: 3245932388
Raw longitude integer: -9381243133
Latitude (degrees): 32.459324
Longitude (degrees): -93.812431
BSSID: 46:d8:78:a3:03:a3
Raw latitude integer: 3245965576
Raw longitude integer: -9381226348
Latitude (degrees): 32.459656
Longitude (degrees): -93.812263
BSSID: 5c:b0:66:13:26:c1
Raw latitude integer: 3245907974
Raw longitude integer: -9381227874
Latitude (degrees): 32.459080
Longitude (degrees): -93.812279
BSSID: 5e:b0:66:13:26:c1
Raw latitude integer: 3245907592
Raw longitude integer: -9381227111
Latitude (degrees): 32.459076
Longitude (degrees): -93.812271
BSSID: 06:aa:a0:79:a6:b8
Raw latitude integer: 3245920181
Raw longitude integer: -9381246185
Latitude (degrees): 32.459202
Longitude (degrees): -93.812462
BSSID: 72:13:01:46:3c:c1
Raw latitude integer: 3245978546
Raw longitude integer: -9381228637
Latitude (degrees): 32.459785
Longitude (degrees): -93.812286
BSSID: 72:13:01:46:3c:c6
Raw latitude integer: 3245979690
Raw longitude integer: -9381228637
Latitude (degrees): 32.459797
Longitude (degrees): -93.812286
BSSID: 7e:b0:66:13:26:c1
Raw latitude integer: 3245907211
Raw longitude integer: -9381227874
Latitude (degrees): 32.459072
Longitude (degrees): -93.812279
BSSID: 88:ad:43:48:4a:a8
Raw latitude integer: 3245934295
Raw longitude integer: -9381259918
Latitude (degrees): 32.459343
Longitude (degrees): -93.812599
BSSID: 8c:76:3f:b7:b7:97
Raw latitude integer: 3245985412
Raw longitude integer: -9381255340
Latitude (degrees): 32.459854
Longitude (degrees): -93.812553
BSSID: 8e:76:3f:b7:b7:97
Raw latitude integer: 3245984649
Raw longitude integer: -9381256103
Latitude (degrees): 32.459846
Longitude (degrees): -93.812561
BSSID: 96:76:3f:b7:b7:97
Raw latitude integer: 3245984649
Raw longitude integer: -9381255340
Latitude (degrees): 32.459846
Longitude (degrees): -93.812553
BSSID: 98:52:4a:86:fa:4c
Raw latitude integer: 3245908737
Raw longitude integer: -9381267547
Latitude (degrees): 32.459087
Longitude (degrees): -93.812675
BSSID: 98:52:4a:86:fa:4f
Raw latitude integer: 3245908355
Raw longitude integer: -9381267547
Latitude (degrees): 32.459084
Longitude (degrees): -93.812675
BSSID: 98:52:4a:86:fa:51
Raw latitude integer: 3245908355
Raw longitude integer: -9381267547
Latitude (degrees): 32.459084
Longitude (degrees): -93.812675
BSSID: 98:52:4a:86:fa:52
Raw latitude integer: 3245908737
Raw longitude integer: -9381268310
Latitude (degrees): 32.459087
Longitude (degrees): -93.812683
BSSID: 9e:ad:43:48:4a:a8
Raw latitude integer: 3245934677
Raw longitude integer: -9381259918
Latitude (degrees): 32.459347
Longitude (degrees): -93.812599
BSSID: 9e:b0:66:13:26:c1
Raw latitude integer: 3245907211
Raw longitude integer: -9381227874
Latitude (degrees): 32.459072
Longitude (degrees): -93.812279
BSSID: ac:91:9b:c6:7d:d2
Raw latitude integer: 3245978927
Raw longitude integer: -9381267547
Latitude (degrees): 32.459789
Longitude (degrees): -93.812675
BSSID: b2:4f:b8:7f:cb:83
Raw latitude integer: 3245938873
Raw longitude integer: -9381260681
Latitude (degrees): 32.459389
Longitude (degrees): -93.812607
BSSID: ce:6c:6d:83:12:4d
Raw latitude integer: 3245933151
Raw longitude integer: -9381253051
Latitude (degrees): 32.459332
Longitude (degrees): -93.812531
BSSID: d4:6c:6d:83:12:4d
Raw latitude integer: 3245931243
Raw longitude integer: -9381252288
Latitude (degrees): 32.459312
Longitude (degrees): -93.812523
BSSID: d6:6c:6d:83:12:4d
Raw latitude integer: 3245933914
Raw longitude integer: -9381251525
Latitude (degrees): 32.459339
Longitude (degrees): -93.812515
BSSID: da:13:99:28:92:b0
Raw latitude integer: 3245917510
Raw longitude integer: -9381269836
Latitude (degrees): 32.459175
Longitude (degrees): -93.812698
BSSID: e8:97:b8:8e:5d:0a
Raw latitude integer: 3245927047
Raw longitude integer: -9381250000
Latitude (degrees): 32.459270
Longitude (degrees): -93.812500
BSSID: 0e:c0:3e:38:ef:36
Raw latitude integer: 3245924758
Raw longitude integer: -9381269073
Latitude (degrees): 32.459248
Longitude (degrees): -93.812691
BSSID: ec:aa:a0:79:a6:b8
Raw latitude integer: 3245919418
Raw longitude integer: -9381246185
Latitude (degrees): 32.459194
Longitude (degrees): -93.812462
BSSID: f4:0e:83:d7:fb:68
Raw latitude integer: 3245946121
Raw longitude integer: -9381263732
Latitude (degrees): 32.459461
Longitude (degrees): -93.812637
BSSID: fa:aa:a0:79:a6:b8
Raw latitude integer: 3245920181
Raw longitude integer: -9381246185
Latitude (degrees): 32.459202
Longitude (degrees): -93.812462
BSSID: fc:ae:34:94:57:f0
Raw latitude integer: 3245948028
Raw longitude integer: -9381231689
Latitude (degrees): 32.459480
Longitude (degrees): -93.812317
BSSID: fe:ae:34:94:57:f1
Raw latitude integer: 3245947265
Raw longitude integer: -9381232452
Latitude (degrees): 32.459473
Longitude (degrees): -93.812325
BSSID: 00:71:c2:b2:32:68
Raw latitude integer: 3245960998
Raw longitude integer: -9381239318
Latitude (degrees): 32.459610
Longitude (degrees): -93.812393
BSSID: 16:71:c2:b2:32:68
Raw latitude integer: 3245961761
Raw longitude integer: -9381238555
Latitude (degrees): 32.459618
Longitude (degrees): -93.812386
BSSID: 1a:71:c2:b2:32:68
Raw latitude integer: 3245961761
Raw longitude integer: -9381238555
Latitude (degrees): 32.459618
Longitude (degrees): -93.812386
BSSID: 10:93:97:0a:e7:80
Raw latitude integer: 3245982742
Raw longitude integer: -9381553649
Latitude (degrees): 32.459827
Longitude (degrees): -93.815536
BSSID: 12:36:aa:62:9c:39
Raw latitude integer: 3245925140
Raw longitude integer: -9381566619
Latitude (degrees): 32.459251
Longitude (degrees): -93.815666
BSSID: 12:36:aa:62:9c:3a
Raw latitude integer: 3245926284
Raw longitude integer: -9381568908
Latitude (degrees): 32.459263
Longitude (degrees): -93.815689
BSSID: 12:36:aa:62:9c:3d
Raw latitude integer: 3245923614
Raw longitude integer: -9381565856
Latitude (degrees): 32.459236
Longitude (degrees): -93.815659
BSSID: 12:36:aa:62:9c:3e
Raw latitude integer: 3245925521
Raw longitude integer: -9381567382
Latitude (degrees): 32.459255
Longitude (degrees): -93.815674
BSSID: 12:36:aa:85:84:c9
Raw latitude integer: 3245957183
Raw longitude integer: -9381577301
Latitude (degrees): 32.459572
Longitude (degrees): -93.815773
BSSID: 18:9c:27:b6:4b:8a
Raw latitude integer: 3245976257
Raw longitude integer: -9381594085
Latitude (degrees): 32.459763
Longitude (degrees): -93.815941
BSSID: 02:cb:7a:c2:d1:42
Raw latitude integer: 3245947265
Raw longitude integer: -9381558227
Latitude (degrees): 32.459473
Longitude (degrees): -93.815582
BSSID: 02:cb:7a:c2:d1:43
Raw latitude integer: 3245948028
Raw longitude integer: -9381558227
Latitude (degrees): 32.459480
Longitude (degrees): -93.815582
BSSID: 02:cb:7a:c2:d1:45
Raw latitude integer: 3245947265
Raw longitude integer: -9381559753
Latitude (degrees): 32.459473
Longitude (degrees): -93.815598
BSSID: 36:e6:e6:86:cd:1c
Raw latitude integer: 3245981216
Raw longitude integer: -9381570434
Latitude (degrees): 32.459812
Longitude (degrees): -93.815704
BSSID: 3a:9c:27:b6:4b:8a
Raw latitude integer: 3245977020
Raw longitude integer: -9381596374
Latitude (degrees): 32.459770
Longitude (degrees): -93.815964
BSSID: 5a:9c:27:b6:4b:8a
Raw latitude integer: 3245976257
Raw longitude integer: -9381596374
Latitude (degrees): 32.459763
Longitude (degrees): -93.815964
BSSID: 8c:85:80:e4:35:dd
Raw latitude integer: 3245977783
Raw longitude integer: -9381558990
Latitude (degrees): 32.459778
Longitude (degrees): -93.815590
BSSID: 8c:0f:6f:21:c8:80
Raw latitude integer: 3245982742
Raw longitude integer: -9381554412
Latitude (degrees): 32.459827
Longitude (degrees): -93.815544
BSSID: 8c:0f:6f:d3:3b:68
Raw latitude integer: 3245903778
Raw longitude integer: -9381518554
Latitude (degrees): 32.459038
Longitude (degrees): -93.815186
BSSID: 8e:76:3f:d4:13:8d
Raw latitude integer: 3245978164
Raw longitude integer: -9381594085
Latitude (degrees): 32.459782
Longitude (degrees): -93.815941
BSSID: 94:a6:7e:31:02:35
Raw latitude integer: 3245890045
Raw longitude integer: -9381510162
Latitude (degrees): 32.458900
Longitude (degrees): -93.815102
BSSID: 9a:0f:6f:21:c8:80
Raw latitude integer: 3245982742
Raw longitude integer: -9381554412
Latitude (degrees): 32.459827
Longitude (degrees): -93.815544
BSSID: 9a:0f:6f:d3:3b:68
Raw latitude integer: 3245905303
Raw longitude integer: -9381518554
Latitude (degrees): 32.459053
Longitude (degrees): -93.815186
BSSID: a2:0f:6f:21:c8:80
Raw latitude integer: 3245982360
Raw longitude integer: -9381554412
Latitude (degrees): 32.459824
Longitude (degrees): -93.815544
BSSID: a2:0f:6f:d3:3b:68
Raw latitude integer: 3245904541
Raw longitude integer: -9381518554
Latitude (degrees): 32.459045
Longitude (degrees): -93.815186
BSSID: a6:0f:6f:21:c8:80
Raw latitude integer: 3245983123
Raw longitude integer: -9381557464
Latitude (degrees): 32.459831
Longitude (degrees): -93.815575
BSSID: a6:0f:6f:d3:3b:68
Raw latitude integer: 3245905685
Raw longitude integer: -9381520080
Latitude (degrees): 32.459057
Longitude (degrees): -93.815201
BSSID: be:61:e9:cd:aa:a8
Raw latitude integer: 3245882415
Raw longitude integer: -9381622314
Latitude (degrees): 32.458824
Longitude (degrees): -93.816223
BSSID: ca:3a:6b:db:9b:ba
Raw latitude integer: 3245902252
Raw longitude integer: -9381513977
Latitude (degrees): 32.459023
Longitude (degrees): -93.815140
BSSID: ce:6c:6d:53:02:e5
Raw latitude integer: 3245964050
Raw longitude integer: -9381594848
Latitude (degrees): 32.459640
Longitude (degrees): -93.815948
BSSID: d4:6c:6d:53:02:e5
Raw latitude integer: 3245963287
Raw longitude integer: -9381592559
Latitude (degrees): 32.459633
Longitude (degrees): -93.815926
BSSID: d6:6c:6d:53:02:e5
Raw latitude integer: 3245962142
Raw longitude integer: -9381593322
Latitude (degrees): 32.459621
Longitude (degrees): -93.815933
BSSID: da:e3:5e:f7:08:87
Raw latitude integer: 3245980834
Raw longitude integer: -9381555938
Latitude (degrees): 32.459808
Longitude (degrees): -93.815559
BSSID: f8:aa:3f:fe:b2:1e
Raw latitude integer: 3245905303
Raw longitude integer: -9381512451
Latitude (degrees): 32.459053
Longitude (degrees): -93.815125
BSSID: 4e:6b:b8:aa:8c:80
Raw latitude integer: 3245885086
Raw longitude integer: -9381540679
Latitude (degrees): 32.458851
Longitude (degrees): -93.815407
BSSID: 78:b2:13:e7:91:39
Raw latitude integer: 3245882797
Raw longitude integer: -9381607055
Latitude (degrees): 32.458828
Longitude (degrees): -93.816071
BSSID: 9e:b3:f7:21:91:e7
Raw latitude integer: 3245910263
Raw longitude integer: -9381617736
Latitude (degrees): 32.459103
Longitude (degrees): -93.816177
BSSID: ce:8b:66:31:a1:df
Raw latitude integer: 3245933151
Raw longitude integer: -9381556701
Latitude (degrees): 32.459332
Longitude (degrees): -93.815567
BSSID: 80:30:dc:c2:05:26
Raw latitude integer: 3245886993
Raw longitude integer: -9381635284
Latitude (degrees): 32.458870
Longitude (degrees): -93.816353
BSSID: 6e:29:90:f7:23:74
Raw latitude integer: 3245903396
Raw longitude integer: -9381517791
Latitude (degrees): 32.459034
Longitude (degrees): -93.815178
BSSID: 0c:73:29:ff:29:93
Raw latitude integer: 3245893096
Raw longitude integer: -9381542968
Latitude (degrees): 32.458931
Longitude (degrees): -93.815430
BSSID: 7e:27:bc:95:f5:35
Raw latitude integer: 3245974349
Raw longitude integer: -9381566619
Latitude (degrees): 32.459743
Longitude (degrees): -93.815666
BSSID: 00:cb:7a:d0:d1:42
Raw latitude integer: 3245967102
Raw longitude integer: -9381575775
Latitude (degrees): 32.459671
Longitude (degrees): -93.815758
BSSID: 00:cb:7a:d0:d1:47
Raw latitude integer: 3245966720
Raw longitude integer: -9381576538
Latitude (degrees): 32.459667
Longitude (degrees): -93.815765
BSSID: 2c:7e:81:ab:cd:1b
Raw latitude integer: 3245813751
Raw longitude integer: -9381472778
Latitude (degrees): 32.458138
Longitude (degrees): -93.814728
BSSID: 2c:fb:0f:0f:66:06
Raw latitude integer: 3245831298
Raw longitude integer: -9381491851
Latitude (degrees): 32.458313
Longitude (degrees): -93.814919
BSSID: 36:fb:0f:0f:66:06
Raw latitude integer: 3245833969
Raw longitude integer: -9381491088
Latitude (degrees): 32.458340
Longitude (degrees): -93.814911
BSSID: 4e:7e:81:ab:cd:1b
Raw latitude integer: 3245811080
Raw longitude integer: -9381472778
Latitude (degrees): 32.458111
Longitude (degrees): -93.814728
BSSID: 6e:7e:81:ab:cd:1b
Raw latitude integer: 3245812988
Raw longitude integer: -9381472778
Latitude (degrees): 32.458130
Longitude (degrees): -93.814728
BSSID: 84:00:2d:41:9a:38
Raw latitude integer: 3245840454
Raw longitude integer: -9381491088
Latitude (degrees): 32.458405
Longitude (degrees): -93.814911
BSSID: 88:6a:e3:e0:51:c4
Raw latitude integer: 3245843887
Raw longitude integer: -9381491088
Latitude (degrees): 32.458439
Longitude (degrees): -93.814911
BSSID: 92:00:2d:41:9a:38
Raw latitude integer: 3245839691
Raw longitude integer: -9381491088
Latitude (degrees): 32.458397
Longitude (degrees): -93.814911
BSSID: 9a:00:2d:41:9a:38
Raw latitude integer: 3245840454
Raw longitude integer: -9381491088
Latitude (degrees): 32.458405
Longitude (degrees): -93.814911
BSSID: 9a:9d:5d:df:f0:6a
Raw latitude integer: 3245788955
Raw longitude integer: -9381491851
Latitude (degrees): 32.457890
Longitude (degrees): -93.814919
BSSID: 9e:00:2d:41:9a:38
Raw latitude integer: 3245840072
Raw longitude integer: -9381491088
Latitude (degrees): 32.458401
Longitude (degrees): -93.814911
BSSID: be:8c:cd:2f:95:16
Raw latitude integer: 3245823669
Raw longitude integer: -9381494903
Latitude (degrees): 32.458237
Longitude (degrees): -93.814949
BSSID: c2:18:03:fb:7c:5e
Raw latitude integer: 3245796585
Raw longitude integer: -9381478118
Latitude (degrees): 32.457966
Longitude (degrees): -93.814781
BSSID: 0c:83:cc:c6:58:4f
Raw latitude integer: 3245823669
Raw longitude integer: -9381491851
Latitude (degrees): 32.458237
Longitude (degrees): -93.814919
BSSID: ce:3f:cb:da:f6:1b
Raw latitude integer: 3245833587
Raw longitude integer: -9381475830
Latitude (degrees): 32.458336
Longitude (degrees): -93.814758
BSSID: ce:ab:82:cf:55:98
Raw latitude integer: 3245824432
Raw longitude integer: -9381491088
Latitude (degrees): 32.458244
Longitude (degrees): -93.814911
BSSID: d4:3f:cb:da:f6:1b
Raw latitude integer: 3245833206
Raw longitude integer: -9381475067
Latitude (degrees): 32.458332
Longitude (degrees): -93.814751
BSSID: d4:ab:82:cf:55:98
Raw latitude integer: 3245824432
Raw longitude integer: -9381491088
Latitude (degrees): 32.458244
Longitude (degrees): -93.814911
BSSID: d6:3f:cb:da:f6:1b
Raw latitude integer: 3245833969
Raw longitude integer: -9381475067
Latitude (degrees): 32.458340
Longitude (degrees): -93.814751
BSSID: d6:ab:82:cf:55:98
Raw latitude integer: 3245823669
Raw longitude integer: -9381490325
Latitude (degrees): 32.458237
Longitude (degrees): -93.814903
BSSID: da:3f:cb:da:f6:1b
Raw latitude integer: 3245833587
Raw longitude integer: -9381475067
Latitude (degrees): 32.458336
Longitude (degrees): -93.814751
BSSID: da:ab:82:cf:55:98
Raw latitude integer: 3245823669
Raw longitude integer: -9381491088
Latitude (degrees): 32.458237
Longitude (degrees): -93.814911
BSSID: 0e:fe:7b:7e:0e:29
Raw latitude integer: 3245786666
Raw longitude integer: -9381475830
Latitude (degrees): 32.457867
Longitude (degrees): -93.814758
BSSID: f8:aa:3f:fe:b2:3b
Raw latitude integer: 3245837783
Raw longitude integer: -9381485748
Latitude (degrees): 32.458378
Longitude (degrees): -93.814857
BSSID: 42:9e:9d:73:67:ef
Raw latitude integer: 3245817947
Raw longitude integer: -9381486511
Latitude (degrees): 32.458179
Longitude (degrees): -93.814865
BSSID: 6e:57:25:f3:7c:e5
Raw latitude integer: 3245834732
Raw longitude integer: -9381487274
Latitude (degrees): 32.458347
Longitude (degrees): -93.814873
BSSID: 9e:73:b1:ef:ad:77
Raw latitude integer: 3245817184
Raw longitude integer: -9381499481
Latitude (degrees): 32.458172
Longitude (degrees): -93.814995
BSSID: 1c:56:8e:0b:3b:34
Raw latitude integer: 3246085739
Raw longitude integer: -9381424713
Latitude (degrees): 32.460857
Longitude (degrees): -93.814247
BSSID: 24:de:8a:10:6e:a4
Raw latitude integer: 3246070098
Raw longitude integer: -9381474304
Latitude (degrees): 32.460701
Longitude (degrees): -93.814743
BSSID: 24:de:8a:60:04:14
Raw latitude integer: 3246067428
Raw longitude integer: -9381462860
Latitude (degrees): 32.460674
Longitude (degrees): -93.814629
BSSID: 48:e2:ad:ad:39:f4
Raw latitude integer: 3246047592
Raw longitude integer: -9381441497
Latitude (degrees): 32.460476
Longitude (degrees): -93.814415
BSSID: 54:2b:57:35:d6:c5
Raw latitude integer: 3246046829
Raw longitude integer: -9381445312
Latitude (degrees): 32.460468
Longitude (degrees): -93.814453
BSSID: 54:b2:03:53:16:68
Raw latitude integer: 3246035766
Raw longitude integer: -9381394195
Latitude (degrees): 32.460358
Longitude (degrees): -93.813942
BSSID: 56:2b:57:2f:ff:cf
Raw latitude integer: 3246062088
Raw longitude integer: -9381448364
Latitude (degrees): 32.460621
Longitude (degrees): -93.814484
BSSID: 62:b2:03:53:16:68
Raw latitude integer: 3246036911
Raw longitude integer: -9381393432
Latitude (degrees): 32.460369
Longitude (degrees): -93.813934
BSSID: 6a:b2:03:53:16:68
Raw latitude integer: 3246036911
Raw longitude integer: -9381393432
Latitude (degrees): 32.460369
Longitude (degrees): -93.813934
BSSID: 6e:b2:03:53:16:68
Raw latitude integer: 3246028518
Raw longitude integer: -9381393432
Latitude (degrees): 32.460285
Longitude (degrees): -93.813934
BSSID: 82:da:c2:2d:1f:12
Raw latitude integer: 3246070861
Raw longitude integer: -9381422424
Latitude (degrees): 32.460709
Longitude (degrees): -93.814224
BSSID: 82:da:c2:2d:1f:15
Raw latitude integer: 3246070480
Raw longitude integer: -9381422424
Latitude (degrees): 32.460705
Longitude (degrees): -93.814224
BSSID: c0:94:35:dc:33:1a
Raw latitude integer: 3246071624
Raw longitude integer: -9381478881
Latitude (degrees): 32.460716
Longitude (degrees): -93.814789
BSSID: ce:94:35:dc:33:1a
Raw latitude integer: 3246070861
Raw longitude integer: -9381479644
Latitude (degrees): 32.460709
Longitude (degrees): -93.814796
BSSID: d6:94:35:dc:33:1a
Raw latitude integer: 3246070861
Raw longitude integer: -9381478881
Latitude (degrees): 32.460709
Longitude (degrees): -93.814789
BSSID: 28:c2:dd:dc:c9:b8
Raw latitude integer: 3246021270
Raw longitude integer: -9381389617
Latitude (degrees): 32.460213
Longitude (degrees): -93.813896
BSSID: 30:13:8b:2b:28:10
Raw latitude integer: 3246051025
Raw longitude integer: -9381438446
Latitude (degrees): 32.460510
Longitude (degrees): -93.814384
BSSID: 8c:0f:6f:18:7c:00
Raw latitude integer: 3246034240
Raw longitude integer: -9381385803
Latitude (degrees): 32.460342
Longitude (degrees): -93.813858
BSSID: 9a:0f:6f:18:7c:00
Raw latitude integer: 3246034622
Raw longitude integer: -9381387329
Latitude (degrees): 32.460346
Longitude (degrees): -93.813873
BSSID: a2:0f:6f:18:7c:00
Raw latitude integer: 3246035003
Raw longitude integer: -9381387329
Latitude (degrees): 32.460350
Longitude (degrees): -93.813873
BSSID: a6:0f:6f:18:7c:00
Raw latitude integer: 3246034622
Raw longitude integer: -9381386566
Latitude (degrees): 32.460346
Longitude (degrees): -93.813866
BSSID: 2a:ad:18:fc:8b:1f
Raw latitude integer: 3246102142
Raw longitude integer: -9381381988
Latitude (degrees): 32.461021
Longitude (degrees): -93.813820
BSSID: 3a:e7:c0:83:c1:a7
Raw latitude integer: 3246105575
Raw longitude integer: -9381404876
Latitude (degrees): 32.461056
Longitude (degrees): -93.814049
BSSID: c6:98:5c:db:c2:43
Raw latitude integer: 3246094512
Raw longitude integer: -9381495666
Latitude (degrees): 32.460945
Longitude (degrees): -93.814957
-----------------------------------------------
[DEBUG] Found block start for 00:18:f8:c1:4a:65
[DEBUG] Line in block: Raw latitude integer: 3245990371
[DEBUG] Line in block: Raw longitude integer: -9381384277
[DEBUG] Line in block: Latitude (degrees): 32.459904
[DEBUG] Parsed LAT candidate = "32.459904"
[DEBUG] Line in block: Longitude (degrees): -93.813843
[DEBUG] Parsed LON candidate = "-93.813843"
[DEBUG] Final LAT = "32.459904"
[DEBUG] Final LON = "-93.813843" -----------------------------------------------
@echo off
setlocal EnableDelayedExpansion
:: C:\app\os\python\apple_bssid_locator\bssid.bat
:: Use: bssid.bat <Enter> (then enter desired BSSID to look up)
:: Sample values:
:: 00:18:f8:c1:4a:65
:: 00:07:89:d7:82:e8
:: 04:09:A5:3B:34:67
::
:: Logs up to 400 BSSID:GPS pairs from Apple's WPS public database
:: Loop until user types q
::
:: Changelog:
:: v1p0 20251205 - Query Apple's highly insecure WPS database
:: v1p1 20251214 - Saves to time-date stamped results.txt log file
:: v1p2 20251215 - Timestamp results.txt so it's not overwritten
:: v1p3 20251219 - Limit to 6 decimal places (as per Chris/Paul/Tyrone)
:: v1p4 20251219 - Show original raw integers + converted decimals
:: v1p5 20251219 - Tried to accomodate Google Maps query to new format
:: v1p6 20251219 - Changed to block-aware parsing with debug output
:: v1p7 20251219 - Enable delayed expansion to fix parsing inside loops
set LOGDIR=%~dp0log
if not exist "%LOGDIR%" mkdir "%LOGDIR%"
:: Create a unique session log (YYYYMMDD_HHMMSS)
for /f %%A in ('wmic os get localdatetime ^| find "."') do set dt0=%%A
set "session_ts=%dt0:~0,8%_%dt0:~8,6%"
set "session_log=%LOGDIR%\session_%session_ts%.log"
echo === New BSSID lookup session started at %date% %time% === >> "%session_log%"
echo.
echo === Nearby Wi-Fi Networks ===
netsh wlan show networks mode=bssid
echo =============================
:loop
echo.
set /p BSSID=Enter the BSSID (or q to quit):
if /I "%BSSID%"=="q" goto end
:: --- Clean up input ---
set "BSSID=%BSSID:"=%"
set "BSSID=%BSSID: =%"
:: --- Make filename-safe version ---
set "safeBSSID=%BSSID::=-%"
:: --- Generate timestamp for THIS lookup ---
for /f %%A in ('wmic os get localdatetime ^| find "."') do set dt=%%A
set "ts=%dt:~0,8%_%dt:~8,6%"
:: --- Timestamped output file ---
set "outfile=%LOGDIR%\bssid_%safeBSSID%_%ts%.txt"
:: --- Clear previous coordinates ---
set "LAT="
set "LON="
echo === Lookup started at %date% %time% === > "%outfile%"
echo BSSID: %BSSID% >> "%outfile%"
echo. >> "%outfile%"
:: --- Run Python lookup ---
python.exe apple_bssid_locator.py %BSSID% --all >> "%outfile%"
:: --- Display results ---
echo -----------------------------------------------
type "%outfile%"
echo -----------------------------------------------
:: --- Block-aware parsing of coordinates (with delayed expansion) ---
set "CAPTURE="
set "LAT="
set "LON="
for /f "usebackq delims=" %%L in ("%outfile%") do (
if /i "%%L"=="BSSID: %BSSID%" (
set "CAPTURE=1"
set "LAT="
set "LON="
echo [DEBUG] Found block start for %BSSID%
) else if defined CAPTURE (
echo [DEBUG] Line in block: %%L
echo %%L | findstr /i /c:"Latitude (degrees):" >nul
if not errorlevel 1 (
for /f "tokens=2 delims=:" %%A in ("%%L") do set "LAT=%%A"
if defined LAT set "LAT=!LAT: =!"
echo [DEBUG] Parsed LAT candidate = "!LAT!"
)
echo %%L | findstr /i /c:"Longitude (degrees):" >nul
if not errorlevel 1 (
for /f "tokens=2 delims=:" %%B in ("%%L") do set "LON=%%B"
if defined LON set "LON=!LON: =!"
echo [DEBUG] Parsed LON candidate = "!LON!"
)
if defined LAT if defined LON (
goto :gotCoords
)
echo %%L | findstr /i /c:"BSSID:" >nul
if not errorlevel 1 (
set "CAPTURE="
)
)
)
:gotCoords
echo [DEBUG] Final LAT = "!LAT!"
echo [DEBUG] Final LON = "!LON!"
:: --- Validate parsed coordinates ---
if not defined LAT echo [DEBUG][ERROR] Latitude not captured. Check Python output format near "BSSID: %BSSID%".
if not defined LON echo [DEBUG][ERROR] Longitude not captured. Check Python output format near "BSSID: %BSSID%".
:: --- Save results ---
echo === Lookup finished at %date% %time% === >> "%outfile%"
echo. >> "%outfile%"
:: --- Append to session log ---
echo [%date% %time%] BSSID: %BSSID% >> "%session_log%"
echo Latitude: !LAT! >> "%session_log%"
echo Longitude: !LON! >> "%session_log%"
echo. >> "%session_log%"
:: --- Append to master log ---
echo [%date% %time%] BSSID: %BSSID% >> "%LOGDIR%\results.log"
echo Latitude: !LAT! >> "%LOGDIR%\results.log"
echo Longitude: !LON! >> "%LOGDIR%\results.log"
echo. >> "%LOGDIR%\results.log"
:: --- Open in Google Maps ---
if defined LAT if defined LON start msedge "
https://www.google.com/maps/search/?api=1&query=!LAT!,!LON!"
goto loop
:end
echo Exiting. Goodbye!
endlocal
:: end of C:\app\os\python\apple_bssid_locator\bssid.bat
#!/usr/bin/env -S uv run --script
# -*- coding: utf-8 -*-
# C:\app\os\python\apple_bssid_locator\apple_bssid_locator.py
# Queries Apple WPS database for GPS:BSSID location pairs
# Implementation based on
https://github.com/hubert3/iSniff-GPS
#
# Usage: apple_bssid_locator.py 11:22:33:AA:BB:CC
# Usage: apple_bssid_locator.py 11:22:33:AA:BB:CC --all
# Usage: apple_bssid_locator.py 11:22:33:AA:BB:CC --map
#
# Changelog:
# v1p0 20251205 - Initial version
# v1p1 20251214 - Added logging to results.txt
# v1p2 20251215 - Timestamped results.txt to avoid overwrites
# v1p3 20251219 - Limited output to 6 decimal places
# v1p4 20251219 - Added raw integer output alongside converted decimals
import argparse
import requests
import webbrowser
import AppleWLoc_pb2
def parse_arguments():
parser = argparse.ArgumentParser()
parser.add_argument("bssid", type=str, help="display the location of the bssid")
parser.add_argument("-m", "--map", help="shows the location on google maps", action='store_true')
parser.add_argument("-a", "--all", help="shows all results returned, not just the requested one", action='store_true')
args = parser.parse_args()
return args
def format_bssid(bssid):
return ':'.join(e.rjust(2, '0') for e in bssid.split(':'))
def query_bssid(bssid, output_file="results.txt"):
apple_wloc = AppleWLoc_pb2.AppleWLoc()
wifi_device = apple_wloc.wifi_devices.add()
wifi_device.bssid = bssid
apple_wloc.unknown_value1 = 0
apple_wloc.return_single_result = 0 # request ALL results
serialized_apple_wloc = apple_wloc.SerializeToString()
length_serialized_apple_wloc = len(serialized_apple_wloc)
headers = {'User-Agent':'locationd/1753.17 CFNetwork/889.9 Darwin/17.2.0'}
data = b"\x00\x01\x00\x05"+b"en_US"+b"\x00\x13"+b"com.apple.locationd"+b"\x00\x0a"+b"8.1.12B411"+b"\x00\x00\x00\x01\x00\x00\x00" + bytes((length_serialized_apple_wloc,)) + serialized_apple_wloc
r = requests.post('
https://gs-loc.apple.com/clls/wloc', headers=headers, data=data)
apple_wloc = AppleWLoc_pb2.AppleWLoc()
apple_wloc.ParseFromString(r.content[10:])
# Build dictionary of results
results = {}
with open(output_file, "w") as f:
for wifi_device in apple_wloc.wifi_devices:
if wifi_device.HasField('location'):
raw_lat = wifi_device.location.latitude
raw_lon = wifi_device.location.longitude
lat = raw_lat * 1e-8
lon = raw_lon * 1e-8
mac = format_bssid(wifi_device.bssid)
results[mac] = (lat, lon, raw_lat, raw_lon)
# Write both raw integers and converted decimals
f.write(f"{mac}\t{raw_lat}\t{raw_lon}\t{lat:.6f}\t{lon:.6f}\n")
print(f"Saved {len(results)} entries to {output_file}")
return results
def main():
args = parse_arguments()
print("Searching for location of bssid: %s" % args.bssid)
results = query_bssid(args.bssid)
# Determine which BSSIDs to process
bssids_to_process = results.keys() if args.all else [args.bssid.lower()]
found = False
for bssid in bssids_to_process:
if bssid in results:
lat, lon, raw_lat, raw_lon = results[bssid]
if lat == -180.0 and lon == -180.0:
continue # Skip entries that were not found
if found:
print()
print(f"BSSID: {bssid}")
print(f"Raw latitude integer: {raw_lat}")
print(f"Raw longitude integer: {raw_lon}")
print(f"Latitude (degrees): {lat:.6f}")
print(f"Longitude (degrees): {lon:.6f}")
if args.map:
url = f"
http://www.google.com/maps/place/{lat:.6f},{lon:.6f}"
webbrowser.open(url)
found = True
if not found:
print("The bssid was not found.")
if __name__ == '__main__':
main()
# end of C:\app\os\python\apple_bssid_locator\apple_bssid_locator.py
--
As you know, I always respond to people in the same manner as they to me. Helping others & learning from them is what this Usenet ng is all about.
--- Synchronet 3.21a-Linux NewsLink 1.2