Геолокация: GeoClue

Противодействие хакерским угрозам

Модераторы: Olej, adminn, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Геолокация: GeoClue

Непрочитанное сообщение Olej » 19 фев 2023, 20:10

Страница проекта: GeoClue: The Geolocation Service
Geoclue is a D-Bus service that provides location information. The goal of the Geoclue project is to make creating location-aware applications as simple as possible.
Geoclue is Free Software, licensed under GNU GPLv2+. It is developed for Linux.
The aim of project is to utilize all possible sources of geolocation to best find user's location:

- WiFi-based geolocation (accuracy: in meters)
- GPS(A) receivers (accuracy: in centimeters)
- GPS of other devices on the local network, e.g smartphones (accuracy: in centimeters)
- 3G modems (accuracy: in kilometers, unless modem has GPS)
- GeoIP (accuracy: city-level)

WiFi-based geolocation makes use of Mozilla Location Service. If geoclue is unable to find you, you can easily fix that by installing and running a simple app on your phone.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Геолокация: GeoClue

Непрочитанное сообщение Olej » 19 фев 2023, 20:12

Код: Выделить всё

olej@R420:~/2023/own.BOOKs$ lsb_release -a
No LSB modules are available.
Distributor ID:	Linuxmint
Description:	Linux Mint 21.1
Release:	21.1
Codename:	vera
По умолчанию (ничего в этой части не доставлялось в системе):

Код: Выделить всё

olej@R420:~$ aptitude search geoclue | grep ^i
i  geoclue-2.0 - служба для работы с геоинформацией
i  libgeoclue-2-0 - convenience library to interact with geoinformation service

Код: Выделить всё

olej@R420:~$ ps -A | grep geoclue
   2989 ?        00:00:01 geoclue

Код: Выделить всё

olej@R420:~$ systemctl status geoclue
● geoclue.service - Location Lookup Service
     Loaded: loaded (/lib/systemd/system/geoclue.service; static)
     Active: active (running) since Sun 2023-02-19 05:46:36 EET; 6h ago
   Main PID: 2989 (geoclue)
      Tasks: 3 (limit: 115790)
     Memory: 9.4M
        CPU: 1.502s
     CGroup: /system.slice/geoclue.service
             └─2989 /usr/libexec/geoclue

фев 19 05:46:36 R420 systemd[1]: Starting Location Lookup Service...
фев 19 05:46:36 R420 systemd[1]: Started Location Lookup Service.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Геолокация: GeoClue

Непрочитанное сообщение Olej » 19 фев 2023, 20:15

Olej писал(а):
19 фев 2023, 20:12
По умолчанию (ничего в этой части не доставлялось в системе):

Код: Выделить всё

[olej@xenix ~]$ lsb_release -a
LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	Fedora
Description:	Fedora release 37 (Thirty Seven)
Release:	37
Codename:	ThirtySeven

Код: Выделить всё

[olej@xenix ~]$ systemctl status geoclue
● geoclue.service - Location Lookup Service
     Loaded: loaded (/usr/lib/systemd/system/geoclue.service; static)
     Active: active (running) since Sun 2023-02-19 17:21:46 EET; 1h 53min ago
   Main PID: 21605 (geoclue)
      Tasks: 3 (limit: 9359)
     Memory: 15.3M
     CGroup: /system.slice/geoclue.service
             └─21605 /usr/libexec/geoclue

фев 19 17:21:46 xenix.localdomain systemd[1]: Starting geoclue.service - Location Lookup Service...
фев 19 17:21:46 xenix.localdomain systemd[1]: Started geoclue.service - Location Lookup Service.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Геолокация: GeoClue

Непрочитанное сообщение Olej » 19 фев 2023, 20:45

Olej писал(а):
19 фев 2023, 20:10
WiFi-based geolocation makes use of Mozilla Location Service.
Mozilla Location Service
The Mozilla Location Service (MLS) is an open service, which lets devices determine their location based on network infrastructure like Bluetooth beacons, cell towers and WiFi access points. This network based location service complements satellite based navigation systems like A-GPS.
Это чтобы вы не сильно обольщались относительно скрытности своего местонахождения :lol:
Снимок экрана от 2023-02-19 19-45-07.png
Снимок экрана от 2023-02-19 19-45-07.png (111.08 КБ) 689 просмотров

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Геолокация: GeoClue

Непрочитанное сообщение Olej » 19 фев 2023, 22:24

Непосредственно из D-Bus как считывать геолокацию я пока не пойму...

Код: Выделить всё

olej@R420:~$ busctl list | grep org.freedesktop.GeoClue2
org.freedesktop.GeoClue2                           44479 geoclue         geoclue         :1.757        geoclue.service             -       -

Код: Выделить всё

olej@R420:~$ busctl tree org.freedesktop.GeoClue2
└─/org
  └─/org/freedesktop
    └─/org/freedesktop/GeoClue2
      ├─/org/freedesktop/GeoClue2/Client
      │ ├─/org/freedesktop/GeoClue2/Client/2
      │ │ └─/org/freedesktop/GeoClue2/Client/2/Location
      │ │   └─/org/freedesktop/GeoClue2/Client/2/Location/0
      │ ├─/org/freedesktop/GeoClue2/Client/3
      │ │ └─/org/freedesktop/GeoClue2/Client/3/Location
      │ │   └─/org/freedesktop/GeoClue2/Client/3/Location/0
      │ └─/org/freedesktop/GeoClue2/Client/4
      │   └─/org/freedesktop/GeoClue2/Client/4/Location
      │     ├─/org/freedesktop/GeoClue2/Client/4/Location/6
      │     └─/org/freedesktop/GeoClue2/Client/4/Location/7
      └─/org/freedesktop/GeoClue2/Manager
Но пока разбираюсь с использованием интерфейса Python 3 для вот этого:

Код: Выделить всё

olej@R420:~$ pip install geopy
Defaulting to user installation because normal site-packages is not writeable
Collecting geopy
  Downloading geopy-2.3.0-py3-none-any.whl (119 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 119.8/119.8 KB 1.0 MB/s eta 0:00:00
Collecting geographiclib<3,>=1.52
  Downloading geographiclib-2.0-py3-none-any.whl (40 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.3/40.3 KB 1.4 MB/s eta 0:00:00
Installing collected packages: geographiclib, geopy
Successfully installed geographiclib-2.0 geopy-2.3.0

Код: Выделить всё

olej@R420:~$ python
Python 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from geopy.geocoders import Nominatim
>>> loc = Nominatim(user_agent="GetLoc")
>>> getLoc = loc.geocode("Kharkov")
>>> print(getLoc.address)
Харків, Харківська міська громада, Харківський район, Харківська область, Україна
>>> print("Latitude = ", getLoc.latitude, "\n")
Latitude =  49.9923181

>>> print("Longitude = ", getLoc.longitude)
Longitude =  36.2310146
>>> quit()

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Геолокация: GeoClue

Непрочитанное сообщение Olej » 20 фев 2023, 19:26

Olej писал(а):
19 фев 2023, 22:24
Непосредственно из D-Bus как считывать геолокацию я пока не пойму...
Ну так вот же оно :!: :lol: - Building a mobile app for Linux, part 4: GPS/mobile tracking
Posted on 2020-01-18 by Luke

Код: Выделить всё

olej@R420:~$ aptitude search geoclue
p   geoclue-2-demo                                                          - geoinformation service (demonstration programs)                                   
i   geoclue-2.0                                                             - служба для работы с геоинформацией                                                
p   geoclue-doc                                                             - geoinformation service (D-Bus API documentation)                                  
p   gir1.2-geoclue-2.0                                                      - convenience library to interact with geoinformation service (introspection)       
i   libgeoclue-2-0                                                          - convenience library to interact with geoinformation service                       
p   libgeoclue-2-dev                                                        - convenience library to interact with geoinformation service (devel files)         
p   libgeoclue-doc                                                          - convenience library to interact with geoinformation service (API documentation)   

Код: Выделить всё

olej@R420:~$ sudo apt install gir1.2-geoclue-2.0
[sudo] пароль для olej:       
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово         
Следующие НОВЫЕ пакеты будут установлены:
  gir1.2-geoclue-2.0
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 2 пакетов не обновлено.
Необходимо скачать 6.088 B архивов.
После данной операции объём занятого дискового пространства возрастёт на 46,1 kB.
Пол:1 http://mirror.mirohost.net/ubuntu jammy/main amd64 gir1.2-geoclue-2.0 amd64 2.5.7-3ubuntu3 [6.088 B]
Получено 6.088 B за 3с (2.118 B/s)             
Выбор ранее не выбранного пакета gir1.2-geoclue-2.0:amd64.
(Чтение базы данных … на данный момент установлено 535278 файлов и каталогов.)
Подготовка к распаковке …/gir1.2-geoclue-2.0_2.5.7-3ubuntu3_amd64.deb …
Распаковывается gir1.2-geoclue-2.0:amd64 (2.5.7-3ubuntu3) …
Настраивается пакет gir1.2-geoclue-2.0:amd64 (2.5.7-3ubuntu3) …

Код: Выделить всё

olej@R420:~$ python
Python 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from gi.repository import Geoclue
<stdin>:1: PyGIWarning: Geoclue was imported without specifying a version first. Use gi.require_version('Geoclue', '2.0') before import to ensure that the right version gets loaded.
>>> dir(Geoclue);
['AccuracyLevel', 'Client', 'ClientIface', 'ClientProxy', 'ClientProxyClass', 'ClientProxyCreateFlags', 'ClientProxyPrivate', 'ClientSkeleton', 'ClientSkeletonClass', 'ClientSkeletonPrivate', 'Location', 'LocationIface', 'LocationProxy', 'LocationProxyClass', 'LocationProxyPrivate', 'LocationSkeleton', 'LocationSkeletonClass', 'LocationSkeletonPrivate', 'Manager', 'ManagerIface', 'ManagerProxy', 'ManagerProxyClass', 'ManagerProxyPrivate', 'ManagerSkeleton', 'ManagerSkeletonClass', 'ManagerSkeletonPrivate', 'Simple', 'SimpleClass', 'SimplePrivate', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__file__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__loader__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__package__', '__path__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__spec__', '__str__', '__subclasshook__', '__weakref__', '_namespace', '_version', 'client_interface_info', 'client_override_properties', 'location_interface_info', 'location_override_properties', 'manager_interface_info', 'manager_override_properties']
>>> dir(Geoclue.Simple)
['__class__', '__copy__', '__deepcopy__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__gdoc__', '__ge__', '__getattribute__', '__gpointer__', '__grefcount__', '__gsignals__', '__gt__', '__gtype__', '__hash__', '__info__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_force_floating', '_ref', '_ref_sink', '_unref', '_unsupported_data_method', '_unsupported_method', 'bind_property', 'bind_property_full', 'chain', 'compat_control', 'connect', 'connect_after', 'connect_data', 'connect_object', 'connect_object_after', 'disconnect', 'disconnect_by_func', 'emit', 'emit_stop_by_name', 'find_property', 'force_floating', 'freeze_notify', 'g_type_instance', 'get_client', 'get_data', 'get_location', 'get_properties', 'get_property', 'get_qdata', 'getv', 'handler_block', 'handler_block_by_func', 'handler_disconnect', 'handler_is_connected', 'handler_unblock', 'handler_unblock_by_func', 'init_async', 'init_finish', 'install_properties', 'install_property', 'interface_find_property', 'interface_install_property', 'interface_list_properties', 'is_floating', 'list_properties', 'new', 'new_finish', 'new_sync', 'newv', 'newv_async', 'notify', 'notify_by_pspec', 'override_property', 'parent', 'priv', 'props', 'qdata', 'ref', 'ref_count', 'ref_sink', 'replace_data', 'replace_qdata', 'run_dispose', 'set_data', 'set_properties', 'set_property', 'steal_data', 'steal_qdata', 'stop_emission', 'stop_emission_by_name', 'thaw_notify', 'unref', 'watch_closure', 'weak_ref']
>>> 
>>> clue = Geoclue.Simple.new_sync('something',Geoclue.AccuracyLevel.NEIGHBORHOOD,None)
>>> location = clue.get_location()
>>> print(location.get_property('latitude'), location.get_property('longitude'))
49.99099928005759 36.2566
>>> 
И то, для сравнения, что даёт RedShift :

Код: Выделить всё

olej@R420:~$ redshift -t 6500:3500
Попытка использования провайдера местоположений `geoclue2'...
Использование источника `geoclue2'.
Could not connect to wayland display, exiting.
Не удалось использовать метод корректировки wayland.
Попытка использования следующего метода...
Использование метода `randr'.
Waiting for initial location to become available...
Местоположение: 49.97 С, 36.26 В
...
Это оно и есть :!:

Код: Выделить всё

>>> 
>>> 
>>> from geopy.geocoders import Nominatim
>>> loc = Nominatim(user_agent="GetLoc")
>>> getLoc = loc.geocode("Kharkov")
>>> print(getLoc)
Харків, Харківська міська громада, Харківський район, Харківська область, Україна
>>> print(getLoc.latitude, getLoc.longitude)
49.9923181 36.2310146
>>> 

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Геолокация: GeoClue

Непрочитанное сообщение Olej » 21 фев 2023, 22:27

Olej писал(а):
20 фев 2023, 19:26
Ну так вот же оно
Посмотрел что там с eoclue-2.0 на сервере вот этого форума где я пишу (вход по SSH):

Код: Выделить всё

olej@277938:~$ ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 2e:49:10:b4:b2:02 brd ff:ff:ff:ff:ff:ff
    inet 90.156.230.27/24 brd 90.156.230.255 scope global dynamic eth0
       valid_lft 61422sec preferred_lft 61422sec
    inet6 fe80::2c49:10ff:feb4:b202/64 scope link 
       valid_lft forever preferred_lft forever

Код: Выделить всё

olej@277938:~$ cat /etc/debian_version
10.13

Код: Выделить всё

olej@277938:~$ aptitude search geoclue
p   geoclue-2-demo                                                                      - geoinformation service (demonstration programs)                                              
p   geoclue-2.0                                                                         - служба для работы с геоинформацией                                                           
p   geoclue-doc                                                                         - geoinformation service (D-Bus API documentation)                                             
p   gir1.2-geoclue-2.0                                                                  - convenience library to interact with geoinformation service (introspection)                  
p   libgeoclue-2-0                                                                      - библиотека для работы с геоинформационной службой                                            
p   libgeoclue-2-dev                                                                    - convenience library to interact with geoinformation service (devel files)                    
p   libgeoclue-doc                                                                      - convenience library to interact with geoinformation service (API documentation)      
Вот так! По дефаулту не установлен.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Геолокация: GeoClue

Непрочитанное сообщение Olej » 21 фев 2023, 23:36

Olej писал(а):
21 фев 2023, 22:27
Вот так! По дефаулту не установлен.
Возможно не устанавливается в Debian, а устанавливается по дефаулту только в Mint?
Смотрю в LAN...

Код: Выделить всё

olej@esprimop420:~$ cat /etc/debian_version
11.6

olej@esprimop420:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 11 (bullseye)
Release:	11
Codename:	bullseye

Код: Выделить всё

olej@esprimop420:~$ aptitude search geoclue
p   geoclue-2-demo                                                                      - geoinformation service (demonstration programs)                                              
i A geoclue-2.0                                                                         - служба для работы с геоинформацией                                                           
p   geoclue-doc                                                                         - geoinformation service (D-Bus API documentation)                                             
p   gir1.2-geoclue-2.0                                                                  - convenience library to interact with geoinformation service (introspection)                  
i A libgeoclue-2-0                                                                      - библиотека для работы с геоинформационной службой                                            
p   libgeoclue-2-dev                                                                    - convenience library to interact with geoinformation service (devel files)                    
p   libgeoclue-doc                                                                      - convenience library to interact with geoinformation service (API documentation)              
Нет, здесь установлен.
Ещё раз, другой хост...

Код: Выделить всё

olej@nvme:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Linuxmint
Description:	LMDE 5 (elsie)
Release:	5
Codename:	elsie

Код: Выделить всё

olej@nvme:~$ cat /etc/debian_version
11.2

Код: Выделить всё

olej@nvme:~$ aptitude search geoclue
p   geoclue-2-demo                                                                - geoinformation service (demonstration programs)                                        
p   geoclue-2-demo:i386                                                           - geoinformation service (demonstration programs)                                        
i   geoclue-2.0                                                                   - служба для работы с геоинформацией                                                     
p   geoclue-2.0:i386                                                              - служба для работы с геоинформацией                                                     
p   geoclue-doc                                                                   - geoinformation service (D-Bus API documentation)                                       
p   gir1.2-geoclue-2.0                                                            - convenience library to interact with geoinformation service (introspection)            
p   gir1.2-geoclue-2.0:i386                                                       - convenience library to interact with geoinformation service (introspection)            
i   libgeoclue-2-0                                                                - библиотека для работы с геоинформационной службой                                      
p   libgeoclue-2-0:i386                                                           - библиотека для работы с геоинформационной службой                                      
p   libgeoclue-2-dev                                                              - convenience library to interact with geoinformation service (devel files)              
p   libgeoclue-2-dev:i386                                                         - convenience library to interact with geoinformation service (devel files)              
p   libgeoclue-doc                                                                - convenience library to interact with geoinformation service (API documentation)        
v   libgeoclue-doc:i386                                                           -                                                                                       
И здесь установлен!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Геолокация: GeoClue

Непрочитанное сообщение Olej » 16 мар 2023, 17:24

Olej писал(а):
21 фев 2023, 23:36
Возможно не устанавливается в Debian, а устанавливается по дефаулту только в Mint?
Т.е., пожалуй так:
- если устанавливается графическая система - geoclue устанавливается (для требующих его пакетов в дистрибутиве);
- если не устанавливается графическая система, сервер - geoclue устанавливается;

Ответить

Вернуться в «Безопасность»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей