WO2022173320A1 - Method and system for collecting user device identifiers in the form of mac addresses - Google Patents
Method and system for collecting user device identifiers in the form of mac addresses Download PDFInfo
- Publication number
- WO2022173320A1 WO2022173320A1 PCT/RU2021/000058 RU2021000058W WO2022173320A1 WO 2022173320 A1 WO2022173320 A1 WO 2022173320A1 RU 2021000058 W RU2021000058 W RU 2021000058W WO 2022173320 A1 WO2022173320 A1 WO 2022173320A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- mac address
- request
- user device
- collecting user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/53—Network services using third party service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/26—Network addressing or numbering for mobility support
- H04W8/28—Number portability ; Network address portability
Definitions
- This technical general relates to the field of computing, and in particular to methods and systems for collecting user device identifiers.
- the technical task or technical problem solved in this technical solution is to obtain the real MAC address of the device, as well as derandomization of the MAC addresses of user devices.
- the technical result achieved when solving the above technical problem is to increase the accuracy and reliability of obtaining the real MAC address of the device, which is specified in the device firmware, bypassing the randomization mode.
- An additional achievable technical result is a reduction in transmitted traffic, which directly affects the minimum Internet speed requirements for connection.
- the specified technical result is achieved due to the implementation of a method for collecting user device identifiers in the form of MAC addresses, performed by at least one computing device and in which a probe request is received on the device for collecting user device identifiers from at least one user communication device to search for wireless points access, containing a random MAC address of this device and a set of recent Wi-Fi networks to which the user's communication device was connected; generating a Wi-Fi network by means of a device for collecting user device identifiers based on the set of Wi-Fi networks obtained in the probe request in the previous step; sending a test response from the device for collecting user device identifiers, containing information that this device is trusted for the user and contains the ability to connect to it; receiving from the user's device an authorization request in the generated Wi-Fi network to the device for collecting user device identifiers, containing the real MAC address of this device; canceling the authorization request received from the user's device by the device for collecting user device identifiers; receive on the device for
- FIG. 1 shows an example implementation of a method for collecting user device identifiers in the form of MAC addresses in the form of a block diagram.
- FIG. 2 shows an example of the implementation of the scheme of interaction between a user communication device and a device for collecting user device identifiers for collecting user device identifiers in the form of MAC addresses.
- FIG. 3 shows an example of the implementation of the interaction between the system modules and the device for collecting user device identifiers.
- FIG. 4 shows an implementation of a system for collecting user device identifiers.
- the system refers to a computer system, a computer (electronic computer), CNC (numerical control), PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, well-defined sequence of operations (actions, instructions), centralized and distributed databases, smart contracts.
- a computer electronic computer
- CNC numerical control
- PLC programmable logic controller
- computerized control systems and any other devices capable of performing a given, well-defined sequence of operations (actions, instructions), centralized and distributed databases, smart contracts.
- a command processing device refers to an electronic unit or an integrated circuit (microprocessor) executing machine instructions (programs), a smart contract, an Ethereum virtual machine (EVM), or the like.
- An instruction processing device reads and executes machine instructions (programs) from one or more data storage devices.
- the role of a storage device can be, but not limited to, hard disk drives (HDD), flash memory, ROM (Read Only Memory), Solid State Drives (SSD), Optical Drives.
- a program is a sequence of instructions intended to be executed by a computer control device or command processing device.
- WiFi is a trademark for wireless computer networks. Indicates the wireless communication technology of the IEEE 802.11 standard.
- M AC-address - a unique identifier of user devices in computer networks and wireless networks.
- a router is a device that provides a WiFi connection and handles requests from user devices.
- FIG. 1 shows an implementation of a method for collecting user device identifiers in the form of MAC addresses by means of a flowchart and the described steps.
- Step 110 receive on the user device ID collection device from at least one user communication device a probe request to search for wireless access points, containing a random MAC address of this device and a set of recent Wi-Fi networks to which the user communication device connected .
- a device for collecting user device identifiers is sometimes referred to in the art as a Wifi radar.
- the device needs to be connected to the Internet in order to work. Without connection to Internet, the device does not transmit MAC address data to the server. If the connection is interrupted (working via an LTE modem), the device will still send the accumulated statistics. For successful sending, you must have access to the DNS server 8.8.8.8 or 1.1.1.1.
- any mobile device periodically sends out probe requests to search for wireless access points.
- the response to such requests is a message from a wireless access point (English “probe response") indicating its characteristics and connection parameters.
- a mobile device may perform an associated device discovery process by transmitting/receiving a Probe Request and a Probe Response defined in the IEEE 802.11 specification, with information indicating the associated specific application added to the probe request, Probe Request, or Probe Response.
- the IEEE 802.11 standard is commonly referred to as Wi-Fi. It is an association access system that uses Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA).
- CSMA/CA Carrier Sense Multiple Access with Collision Avoidance
- the CSMA/CA process defines random backoff procedures for all nodes that are waiting to transmit. Therefore, the transfer becomes possible only after the release of the environment. Nodes have to wait for some time, which greatly reduces the chance of collisions.
- 802.11 networks also use link layer acknowledgments to confirm the successful receipt of a frame. If the sending station does not detect an acknowledgment frame because the original data frame or acknowledgment was not received, the frame is retransmitted. This accurate confirmation helps overcome interference and other problems associated with radio transmission.
- the WIFI frame may include a data frame, a control frame, and a control frame, and the probe request refers to one kind of control frame.
- the WIFI frame is a probe request
- the predefined field is the network ID field.
- the user's communication device may be compliant with the IEEE 802.11 specification that allows P2P (Peer to Peer) connections.
- P2P Peer to Peer
- a wireless connection can be established by using wireless communication devices compatible with the IEEE 802.11 specification that allow P2P connections.
- the timing of broadcast requests is determined by the user device and depends on the operating system, software version, wireless chip model, and other factors.
- a probe request may be prepared to perform a scan of existing 802.11 networks in an area.
- the device may initiate sending a probe request and wait for a response to the probe request from the access point (AP), thus discovering the access point.
- AP access point
- the probe request includes a network identifier field (content of the network identifier element), which can generally be specified as a network identifier of a specific network or a network identifier of any network, and has a maximum allowed field length of 32 bytes.
- setting data may be placed in this field.
- the setting data may include: a network ID and a connection password.
- the user's communications device sends a set of recent Wi-Fi networks to which the user's communications device has connected in the probe request.
- These networks may be five or ten, not limited.
- Enabling the Wi-Fi module consists of the following steps:
- This mechanism is auxiliary, since information about the access points of the user's communication device is obtained by listening to the air for the presence of beacons, which also indicate information about the access point and its parameters.
- the user device can send a personal request to the selected access point in order to verify its performance.
- user devices broadcast for all saved Wi-Fi networks using a simple enumeration method, trying to find at least one point nearby.
- MAC address randomization technique is used. The main method is that when sending broadcast and personal requests, instead of the real MAC address of the device, a random MAC address is substituted into the frame, which is not in any way associated with this device. Such a MAC address is assigned at a time for the sake of scanning and its lifetime is from several seconds to several minutes. Next, the MAC address is replaced with a new random one and is never used again. Thus, devices can generate requests without revealing their MAC address.
- Step 120 Generating a Wi-Fi network by means of a device for collecting user device identifiers based on the set of Wi-Fi networks received in the probe request in the previous step.
- a Wi-Fi network is generated based on the set of Wi-Fi networks that were in the probe request of the user's communications device.
- the MANA method can be used for active tracking in this technical solution.
- the essence of the MANA method is to respond to all personal requests on behalf of the point for which it was intended.
- the user's communication device begins to believe that the access point for which the request was initiated is nearby and, in one of the ways described above, reveals its real MAC address, as will be discussed below.
- Step 130 Send a probe response from the device for collecting user device identifiers, containing information that this device is trusted by the user and contains the ability to connect to it.
- the MAC address collection radius is determined by the physical properties of the space in which the device for collecting user device identifiers is located, as well as its firmware version. In a space without walls and barriers, the device accepts requests from devices at a distance of up to 50 meters. The number of requests processed by the device from devices may decrease as the signal strength from user devices decreases. The device may not work effectively in a space with barriers, walls, or when it is isolated by metal structures, objects. With complete isolation, you can completely eliminate the possibility of collecting MAC addresses.
- each of the individual devices processes requests independently and transmits to the server for further processing.
- the user device receives a response to a request with a randomized MAC address, then it initiates a connection to the access point, as it believes that it is nearby. According to the standard, the user device must use its real MAC address to connect. In practice, devices either try to initiate a connection and, if unsuccessful, send a request with the real MAC address, or after receiving response, another request is immediately sent with the real MAC address.
- An access point that implements the MANA method collects statistics of the most popular networks and keeps a database, conditional TOP 10/30/100, etc. in memory. At the moment when a broadcast request comes from the user's communication device, a response with the most frequently encountered networks is sent in response to it. For example, for Moscow it will be MT_FREE, chains of fast food restaurants and other well-known chains.
- the user device with a high degree of probability finds at least one access point in its list, after which it initiates a connection to it and reveals its real MAC address in one of the specified ways, as shown in Fig. 2.
- the format of the received data from the user's communication device can be: Protocol
- Step 140 receive from the user's device an authorization request in the generated Wi-Fi network to the device for collecting user device identifiers, containing the real MAC address of this device.
- An authorization request is an attempt to authorize on a Wi-Fi network.
- user devices disclose their MAC address regardless of whether they are connected to any network and whether they have the randomization mechanism enabled.
- the client device uses the randomization option, when a unique random MAC address is generated for each SSID, then for a technical solution this will look like a multiple of the number of user devices.
- the difference between the "per SSID" randomization option is only that the binding is not carried out to device, and to a bunch of device + SSID. That is, virtually it can be imagined as a case where a particular user owns several dozen devices and uses each specific device to connect to only one network.
- the tracking (or tracking) module consists of a startup script, a daemon. During startup, the daemon reads options from the configuration file.
- the radarjd parameter specifies a unique device name, which can be a firmware router.
- the server parameter specifies the server to which the discovered MAC addresses should be sent.
- the port parameter specifies the port to which logs of discovered MAC addresses should be sent. Sending detected MAC addresses is carried out using the above device via TCP protocol using IP.
- the daemon While the service is running, the daemon must be running. Starting and monitoring the health of the daemon is performed by external daemons and the tracking module does not affect this process in any way.
- the daemon writes the discovered MAC addresses to a file line by line. This file is located in the RAM of the device and its size is limited by a threshold of 5 MB by another daemon. If the file exceeds the specified threshold, then another daemon replaces the file with an empty one.
- Another daemon performs a real-time scan of the detected MAC address log file. During each iteration of the main loop, the number of lines in the file is counted, all lines are sent since the last successful data transfer from the device to the server, and the current line number is saved if the transfer was successful. The daemon has been making an infinite number of attempts to send the accumulated log since the last successful send. If the accumulated log exceeds the allowable size of 5 megabytes, the daemon will replace the file and all unsent data will be lost.
- the online module consists of a startup script and a daemon. During startup, the daemon reads options from the configuration file.
- the radarjd parameter specifies a unique device name.
- the onliner server parameter specifies the server for collecting statistical and technical data from the router, to which the current status of the device should be sent: processor load, memory consumption, the number of collected MAC addresses.
- the onliner_port parameter specifies the port to which the current status should be sent. During operation, the online module sends a signal that the technical solution is online and operational.
- Sending is carried out via the HTTP protocol with payload in JSON format to the specified server and port.
- Step 150 Cancel the authorization request received from the user device by the user device ID collection device.
- the user authorization request to the Wi-Fi network is canceled due to the fact that there is essentially no Wi-Fi network.
- the access point was simulated and the user has nothing to do with the device. If the authorization request is canceled, the user's communication device will send a test request to search for wireless access points containing the real MAC address of this device, which occurs in the next step.
- Step 160 Receive, at the user device ID collection device, a probe request to search for wireless access points containing the real MAC address of the device.
- real MAC addresses are received, they are transmitted to the server for further processing. Processing involves analyzing and filtering data from unsuitable for export to advertising platforms.
- Unsuitable data for export are MAC addresses that cannot be used to establish information about the device manufacturer, as well as data processed using a special algorithm. Devices spoof the MAC address to hide the real ID. This process is called "randomization".
- the data collected by the device for collecting user device identifiers is exported to advertising platforms through a personal account after processing.
- data can be exported to Yandex, MyTarget, Facebook, etc., without being limited.
- the data can be exported to an email address and an FTP server.
- Data can be filtered by collection period and visitor type. It is possible to create updatable downloads. The minimum guaranteed period for updating data on the advertising platform is 24 hours. The data will be available to launch advertising in Yandex.Direct, YAN, Yandex. Display, MyTarget.
- a personal account can be implemented for the user to view data about the collected MAC addresses.
- the personal account provides access to the monitoring of statistical information on the collected data.
- the data can be filtered by the period and devices for collecting user device IDs, if more than one is set.
- the total audience is the total collected MAC addresses.
- this technical solution can be implemented as a computing system 400 for collecting user device identifiers in the form of MAC addresses, which contains one or more of the following components:
- a processing component 401 comprising at least one processor 402
- the processing component 401 mainly manages all operations of the system 400, such as processing the user data or network connection request, and managing the display, phone call, data transfer, camera operation, and recording operation of the mobile communication device.
- Processing component 401 may include one or more processors 402 executing instructions for completing all or part of the steps from the above methods.
- the processing component 401 may include one or more modules for convenient interaction between other processing modules 401 and other modules.
- the processing component 401 may include a multimedia module for convenient, lightweight interaction between the multimedia component 405 and the processing component 401.
- the memory 403 is configured to store various types of data to support the operation of the system 400, such as a user profile database. Examples of such data include instructions from any application or method, contact data, address book data, messages, images, videos, etc., all of which run on system 400.
- Memory 403 may be implemented as any type of volatile memory, non-volatile memory, or combinations thereof, e.g., static random access memory (SRAM), Electrically Erasable Programmable Read Only Memory (EEPROM), Erasable Programmable Read Only Memory (EPROM), Programmable Read Only Memory (PROM), Read Only Memory device (ROM), magnetic memory, flash memory, magnetic disk or optical disk, and others, without being limited.
- SRAM static random access memory
- EEPROM Electrically Erasable Programmable Read Only Memory
- EPROM Erasable Programmable Read Only Memory
- PROM Programmable Read Only Memory
- ROM Read Only Memory device
- magnetic memory flash memory
- flash memory magnetic disk or optical disk, and others, without being limited.
- the media component 405 includes a screen that provides an output interface between the system 400, which can be installed on the mobile communication device of the user and the user.
- the screen may be a liquid crystal display (LCD) or a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input from a user.
- the touchpad includes one or more touch sensors in terms of gestures, touching and sliding on the touchpad. The touch sensor can not only sense the subject's touch boundary or swipe gesture, but also determine the length of time and pressure associated with the touch and slide operation mode.
- media component 405 includes one front camera and/or one rear camera. When the system 400 is in an operating mode, such as shooting mode or video mode, the front camera and/or rear camera can receive media data from outside. Each front camera and rear camera can be one fixed lens optics system or can have focal length or optical zoom.
- the audio component 406 is configured to output and/or input an audio signal.
- the audio component 406 includes one microphone (MIC) that is configured to receive an external audio signal when the system 400 is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode.
- the received audio signal may be further stored in the memory 403 or routed through the communication component 409 .
- the audio component 406 also includes a single speaker configured to output an audio signal.
- An input/output (I/O) interface 407 provides an interface between the processing component 401 and any peripheral interface module.
- the above peripheral interface module may be a keyboard, steering wheel, button, etc. These buttons may include, but are not limited to, a start button, a volume button, a home button, and a lock button.
- the touch component 408 includes one or more sensors and is configured to provide various aspects of estimating the state of the system 400. For example, the touch component 408 can detect the on/off states of the system 400, the relative position of components, such as a display and a keypad, of a single component system 400, the presence or absence of contact between a subject and system 400, as well as the orientation or acceleration/deceleration and temperature change of system 400.
- Sensor component 408 includes a proximity sensor configured to detect the presence of a nearby object when there is no physical contact.
- the sensor component 408 includes an optical sensor (eg, CMOS or CCD image sensor) configured for use in rendering an application.
- the sensor component 408 includes an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
- the communication component 409 is configured to facilitate wired or wireless communication between the system 400 and other devices.
- System 400 may access a wireless network based on a communication standard such as WiFi, 2G, 3G, 5G, or combinations thereof.
- the communication component 409 receives a broadcast signal or broadcast related information from an external broadcast control system via a broadcast channel.
- communication component 409 includes a Near Field Communication (NFC) module to facilitate near field communications.
- NFC Near Field Communication
- the NFC module may be based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
- RFID radio frequency identification
- IrDA infrared data association
- UWB ultra-wideband
- BT Bluetooth
- system 400 may be implemented by one or more Application-Specific Integrated Circuits (ASICs), a Digital Signal Processor (DSP), a Digital Signal Processor (DSP), a programmable logic unit (PLU), a logic chip, field programmable (FPGA), controller, microcontroller, microprocessor, or other electronic components, and can be configured to implement a method 500 for collecting user device identifiers in the form of MAC addresses.
- ASICs Application-Specific Integrated Circuits
- DSP Digital Signal Processor
- DSP Digital Signal Processor
- PLU programmable logic unit
- FPGA field programmable
- controller microcontroller, microprocessor, or other electronic components
- the non-volatile computer-readable medium includes a memory 403 that includes instructions where the instructions are executed by the processor 401 of the system 400 to implement the methods described above for collecting user device identifiers in the form of MAC addresses.
- a non-volatile computer-readable medium can be ROM, random access memory (RAM), compact disk, magnetic tape, floppy disks, optical storage devices, and the like.
- Computing system 400 may include a display interface that transmits graphics, text, and other data from a communications infrastructure (or framebuffer, not shown) for display on media component 405.
- Computing system 400 further includes input devices or peripherals.
- Peripheral devices may include one or more devices for interacting with a user's mobile communications device, such as a keyboard, microphone, wearable device, camera, one or more audio speakers, and other sensors. Peripherals may be external or internal to the user's mobile communication device.
- the touch screen may display, typically, graphics and text, and also provides a user interface (such as, but not limited to, a graphical user interface (GUI)) through which a subject may interact with the user's mobile communications device, such as accessing and interacting with with applications running on the device.
- GUI graphical user interface
- All blocks used in the system can be implemented using electronic components used to create digital integrated circuits, which is obvious to a person skilled in the art. Not limited to, microcircuits can be used, the logic of which is determined during manufacture, or programmable logic integrated circuits (FPGA), the logic of which is set by programming. Programmers and debugging environments are used for programming, allowing you to set the desired structure of a digital device in the form of a circuit diagram or a program in special hardware description languages: Verilog, VHDL, AHDL, etc.
- FPGAs programmable logic controllers
- BMK basic matrix crystals
- LSI custom-made large integrated circuits
- the FPGA chip itself consists of the following components:
- Blocks can also be implemented using read-only memories.
- aspects of the present technical solution may be implemented as a system, method, or computer program product. Accordingly, various aspects of the present technical solution may be implemented solely as hardware, as software (including application software, and so on) or as an implementation that combines software and hardware aspects, which may be referred to generally as a "module”, “system”, or “architecture”. In addition, aspects of the present technical solution may take the form of a computer program product implemented on one or more computer-readable media having computer-readable program code embodied thereon.
- the computer-readable storage medium can be, without limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or any suitable combination thereof. More specifically, examples (non-exhaustive list) of a computer-readable storage medium include: an electrical connection using one or more wires, a portable computer diskette; hard disk, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or Flash memory), fiber optic connection, compact disc read only memory (CD-ROM), optical storage device, magnetic storage device or any combination of the above.
- a computer-readable storage medium can be any flexible storage medium that can contain or store a program for use by or in connection with a system, device, apparatus, or in connection with them.
- the program code embedded in a computer-readable medium may be transmitted using any medium, including, without limitation, wireless, wired, fiber optic, infrared, and any other suitable network, or a combination of the foregoing.
- the computer program code for performing the operations for the steps of the present technical solution may be written in any programming language or combinations of programming languages, including an object-oriented programming language, for example Python, R, Java, Smalltalk, C++, and so on, and conventional procedural programming languages such as the C programming language or similar programming languages.
- the program code may be executed in whole, in part on the user's computer, or as a separate software package, in part on the user's computer and in part on a remote computer, or entirely on a remote computer.
- the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN), a wide area network (WAN), or a connection to an external computer (eg, via the Internet via ISPs).
- LAN local area network
- WAN wide area network
- ISPs Internet via ISPs
- These computer program instructions may also be stored on a computer-readable medium that can control a computer other than a programmable data processing device or other than devices that operate in a particular manner such that the instructions stored on the computer-readable medium create a device including instructions that perform the functions/actions indicated in the block diagram and/or diagram.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
СПОСОБ И СИСТЕМА СБОРА ИДЕНТИФИКАТОРОВ ПОЛЬЗОВАТЕЛЬСКИХ УСТРОЙСТВ В ВИДЕ MAC - АДРЕСОВ METHOD AND SYSTEM FOR COLLECTING USER DEVICE IDENTIFIERS IN THE FORM OF MAC ADDRESSES
ОБЛАСТЬ ТЕХНИКИ FIELD OF TECHNOLOGY
[001] Данное техническое в общем относится к области вычислительной техники, а в частности к способам и системам для сбора идентификаторов пользовательских устройств. [001] This technical general relates to the field of computing, and in particular to methods and systems for collecting user device identifiers.
УРОВЕНЬ ТЕХНИКИ BACKGROUND OF THE INVENTION
[002] Из уровня техники известно техническое решение «Sniffing Beacon Frames». В данном техническом решении с помощью Python библиотеки Scapy можно получать пакеты Beacon, в которых содержатся рассылаемые в эфир MAC - адреса устройств в поисках WiFi-сетей. Недостатком данного решения является то, что если в эфир был отправлен случайный МАС-адрес устройства, то используя данное решение получают случайный MAC - адрес. [002] The technical solution "Sniffing Beacon Frames" is known from the prior art. In this technical solution, using the Scapy Python library, you can receive Beacon packets that contain the MAC addresses of devices sent over the air in search of WiFi networks. The disadvantage of this solution is that if a random MAC address of the device was sent to the air, then using this solution a random MAC address is obtained.
[003] Также из уровня техники известно решение «802.11 Sniffer Capture Analysis - Management Frames and Open Auth». В данном решении осуществляется сканирование Wi-Fi сети с помощью оборудования Cisco. В полученных данных можно получить пакеты, содержащие MAC -адреса пользовательских устройств. Если MAC - адрес пользователя сгенерирован случайным образом, то в анализе будет отображаться этот случайный адрес. [003] The solution "802.11 Sniffer Capture Analysis - Management Frames and Open Auth" is also known from the prior art. This solution scans a Wi-Fi network using Cisco equipment. In the received data, you can get packets containing the MAC addresses of user devices. If the user's MAC address is randomly generated, then this random address will be displayed in the analysis.
[004] Ближайшим аналогом данного решения является техническое решение «Openwrt-probe-request-sniffer». Данное решение представляет собой прошивку для OpenWrt, которая позволяет непосредственно собирать MAC -адреса устройств путём прослушивания Wi-Fi - эфира. Аналогичным недостатком является то, что если MAC - адрес пользователя сгенерирован случайным образом, то в анализе будет отображаться этот случайный адрес. [004] The closest analogue of this solution is the technical solution "Openwrt-probe-request-sniffer". This solution is a firmware for OpenWrt, which allows you to directly collect the MAC addresses of devices by listening to Wi-Fi - the air. A similar disadvantage is that if the user's MAC address is randomly generated, then this random address will be displayed in the analysis.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ [005] Технической задачей или технической проблемой, решаемой в данном техническим решении, является получение реального МАС-адреса устройства, а также дерандомизация МАС-адресов устройств пользователей. SUMMARY OF THE INVENTION [005] The technical task or technical problem solved in this technical solution is to obtain the real MAC address of the device, as well as derandomization of the MAC addresses of user devices.
[006] Техническим результатом, достигаемым при решении вышеуказанной технической задачи, является повышение точности и надежности получения реального МАС-адреса устройства, который указан в прошивке устройства, путём обхода режима рандомизации. [006] The technical result achieved when solving the above technical problem is to increase the accuracy and reliability of obtaining the real MAC address of the device, which is specified in the device firmware, bypassing the randomization mode.
[007] Дополнительно достигаемым техническим результатом является снижение передаваемого трафика, что напрямую влияет на минимальные требования по скорости интернета для подключения. [007] An additional achievable technical result is a reduction in transmitted traffic, which directly affects the minimum Internet speed requirements for connection.
[008] Указанный технический результат достигается благодаря осуществлению способа сбора идентификаторов пользовательских устройств в виде MAC - адресов, выполняемый по меньшей мере одним вычислительным устройством и в котором получают на устройство сбора идентификаторов пользовательских устройств от меньшей мере одного устройства связи пользователя пробный запрос для поиска беспроводных точек доступа, содержащий случайный МАС-адрес данного устройства и набор последних Wi-Fi сетей, к которым подключалось устройство связи пользователя; генерируют Wi-Fi сеть посредством устройства сбора идентификаторов пользовательских устройств на основании набора Wi-Fi сетей, полученных в пробном запросе на предыдущем шаге; направляют пробный ответ от устройства сбора идентификаторов пользовательских устройств, содержащий информацию о том, что данное устройство является доверенным для пользователя и содержит возможность подключения к нему; получают от устройства пользователя запрос авторизации в сгенерированной Wi-Fi сети на устройство сбора идентификаторов пользовательских устройств, содержащий реальный МАС-адрес данного устройства; отменяют полученный от устройства пользователя запрос авторизации посредством устройства сбора идентификаторов пользовательских устройств; получают на устройстве сбора идентификаторов пользовательских устройств пробный запрос для поиска беспроводных точек доступа, содержащий реальный МАС-адрес данного устройства. КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ [008] The specified technical result is achieved due to the implementation of a method for collecting user device identifiers in the form of MAC addresses, performed by at least one computing device and in which a probe request is received on the device for collecting user device identifiers from at least one user communication device to search for wireless points access, containing a random MAC address of this device and a set of recent Wi-Fi networks to which the user's communication device was connected; generating a Wi-Fi network by means of a device for collecting user device identifiers based on the set of Wi-Fi networks obtained in the probe request in the previous step; sending a test response from the device for collecting user device identifiers, containing information that this device is trusted for the user and contains the ability to connect to it; receiving from the user's device an authorization request in the generated Wi-Fi network to the device for collecting user device identifiers, containing the real MAC address of this device; canceling the authorization request received from the user's device by the device for collecting user device identifiers; receive on the device for collecting user device identifiers a test request to search for wireless access points containing the real MAC address of this device. BRIEF DESCRIPTION OF THE DRAWINGS
[009] Признаки и преимущества настоящего технического решения станут очевидными из приведенного ниже подробного описания и прилагаемых чертежей, на которых: [009] The features and advantages of the present technical solution will become apparent from the following detailed description and the accompanying drawings, in which:
[0010] На Фиг. 1 показан пример реализации способа сбора идентификаторов пользовательских устройств в виде MAC - адресов в виде блок-схемы. [0010] In FIG. 1 shows an example implementation of a method for collecting user device identifiers in the form of MAC addresses in the form of a block diagram.
[0011] На Фиг. 2 показан пример реализации схемы взаимодействия устройства связи пользователя и устройства сбора идентификаторов пользовательских устройств для сбора идентификаторов пользовательских устройств в виде MAC - адресов. [0011] In FIG. 2 shows an example of the implementation of the scheme of interaction between a user communication device and a device for collecting user device identifiers for collecting user device identifiers in the form of MAC addresses.
[0012] На Фиг. 3 показан пример реализации взаимодействия модулей системы устройство сбора идентификаторов пользовательских устройств. [0013] На Фиг. 4 показан вариант реализации системы устройство сбора идентификаторов пользовательских устройств. [0012] In FIG. 3 shows an example of the implementation of the interaction between the system modules and the device for collecting user device identifiers. [0013] In FIG. 4 shows an implementation of a system for collecting user device identifiers.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ DETAILED DESCRIPTION OF THE INVENTION
[0014] Ниже будут подробно рассмотрены термины и их определения, используемые в описании технического решения. [0014] Below will be discussed in detail the terms and their definitions used in the description of the technical solution.
[0015] В данном изобретении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций), централизованные и распределенные базы данных, смарт-контракты. [0015] In this invention, the system refers to a computer system, a computer (electronic computer), CNC (numerical control), PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, well-defined sequence of operations (actions, instructions), centralized and distributed databases, smart contracts.
[0016] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы), смарт-контракт, виртуальная машина Ethereum (EVM) или подобное. Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы. [0016] A command processing device refers to an electronic unit or an integrated circuit (microprocessor) executing machine instructions (programs), a smart contract, an Ethereum virtual machine (EVM), or the like. An instruction processing device reads and executes machine instructions (programs) from one or more data storage devices. The role of a storage device can be, but not limited to, hard disk drives (HDD), flash memory, ROM (Read Only Memory), Solid State Drives (SSD), Optical Drives.
[0017] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд. [0017] A program is a sequence of instructions intended to be executed by a computer control device or command processing device.
[0018] WiFi - торговая марка для беспроводных компьютерных сетей. Обозначает технологию беспроводной передачи данных по стандарту IEEE 802.11. [0018] WiFi is a trademark for wireless computer networks. Indicates the wireless communication technology of the IEEE 802.11 standard.
[0019] М AC-ад рес - уникальный идентификатор пользовательского устройств в компьютерных сетях и сетях беспроводной связи. [0019] M AC-address - a unique identifier of user devices in computer networks and wireless networks.
[0020] Роутер - устройство, обеспечивающее WiFi соединение и обработку запросов от пользовательских устройств. [0020] A router is a device that provides a WiFi connection and handles requests from user devices.
[0021] Далее будут подробно рассмотрены варианты осуществления настоящего изобретения, примеры которых проиллюстрированы на сопроводительных чертежах. В последующем описании представлены ссылки на сопроводительные чертежи, на которых одни и те же позиции на разных чертежах представляют одни и те же или аналогичные элементы, если не указано иное. Формы исполнения, представленные в последующем описании примеров осуществления, не представляют всех форм исполнения, соответствующих изобретению. Вместо этого, они являются только примерами устройств и способов, соответствующих аспектам, связанным с изобретением, как изложено в прилагаемой формуле изобретения. [0021] Embodiments of the present invention will now be discussed in detail, examples of which are illustrated in the accompanying drawings. In the following description, reference is made to the accompanying drawings, in which the same reference numbers in different drawings represent the same or similar elements, unless otherwise indicated. The embodiments presented in the following description of the exemplary embodiments do not represent all embodiments of the invention. Instead, they are only examples of devices and methods corresponding to aspects related to the invention as set forth in the appended claims.
[0022] На Фиг. 1 показан вариант реализации способа сбора идентификаторов пользовательских устройств в виде MAC - адресов посредством блок-схемы и описанных шагов. [0022] In FIG. 1 shows an implementation of a method for collecting user device identifiers in the form of MAC addresses by means of a flowchart and the described steps.
[0023] Шаг 110: получают на устройство сбора идентификаторов пользовательских устройств от по меньшей мере одного устройства связи пользователя пробный запрос для поиска беспроводных точек доступа, содержащий случайный МАС-адрес данного устройства и набор последних Wi-Fi сетей, к которым подключалось устройство связи пользователя. [0023] Step 110: receive on the user device ID collection device from at least one user communication device a probe request to search for wireless access points, containing a random MAC address of this device and a set of recent Wi-Fi networks to which the user communication device connected .
[0024] Устройство сбора идентификаторов пользовательских устройств иногда называют в уровне техники Wifi-радар. Для работы устройству обязательно нужна связь с сетью Интернет. Без подсоединения к Интернету устройство не передает данные МАС-адресов на сервер. Если связь прерывается (работа через LTE модем), то устройство все равно отошлет накопившуюся статистику. Для успешной отправки необходимо наличие доступа к DNS серверу 8.8.8.8 или 1.1.1.1. [0024] A device for collecting user device identifiers is sometimes referred to in the art as a Wifi radar. The device needs to be connected to the Internet in order to work. Without connection to Internet, the device does not transmit MAC address data to the server. If the connection is interrupted (working via an LTE modem), the device will still send the accumulated statistics. For successful sending, you must have access to the DNS server 8.8.8.8 or 1.1.1.1.
[0025] В соответствии со стандартом 802.11 (Wi-Fi) любое мобильное устройство периодически рассылает пробные запросы (англ «probe request») для поиска беспроводных точек доступа. Ответом на такие запросы является сообщение от беспроводной точки доступа (англ «probe response») с указанием ее характеристик и параметров подключения. В некоторых вариантах реализации мобильное устройство может выполнить процесс обнаружения присоединенного устройства, передавая/принимая пробный запрос (Probe Request) и пробный ответ (Probe Response), определенные в технических требованиях IEEE 802.11, с информацией, указывающей ассоциированное конкретное приложение, добавляемое к пробному запросу, Probe Request, или пробному ответу, Probe Response. [0026] Стандарт IEEE 802.11 обычно называют Wi-Fi. Это система ассоциативного доступа, которая использует множественный доступ с контролем несущей и предотвращением коллизий (CSMA/CA). Процесс CSMA/CA определяет случайные процедуры отсрочки передачи для всех узлов, которые ожидают передачи. Поэтому передача становится возможной только после освобождения среды. Узлам приходится ждать некоторое время, что значительно снижает вероятность коллизий. Сети 802.11 также используют подтверждения канального уровня, чтобы подтвердить успешное получение кадра. Если отправляющая станция не обнаруживает кадр подтверждения из-за того, что исходный кадр данных или подтверждение не были получены, передача кадра повторяется. Это точное подтверждение помогает преодолеть помехи и другие проблемы, связанные с радиопередачей. [0025] In accordance with the 802.11 (Wi-Fi) standard, any mobile device periodically sends out probe requests to search for wireless access points. The response to such requests is a message from a wireless access point (English "probe response") indicating its characteristics and connection parameters. In some embodiments, a mobile device may perform an associated device discovery process by transmitting/receiving a Probe Request and a Probe Response defined in the IEEE 802.11 specification, with information indicating the associated specific application added to the probe request, Probe Request, or Probe Response. [0026] The IEEE 802.11 standard is commonly referred to as Wi-Fi. It is an association access system that uses Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA). The CSMA/CA process defines random backoff procedures for all nodes that are waiting to transmit. Therefore, the transfer becomes possible only after the release of the environment. Nodes have to wait for some time, which greatly reduces the chance of collisions. 802.11 networks also use link layer acknowledgments to confirm the successful receipt of a frame. If the sending station does not detect an acknowledgment frame because the original data frame or acknowledgment was not received, the frame is retransmitted. This accurate confirmation helps overcome interference and other problems associated with radio transmission.
[0027] В качестве устройства связи пользователя или мобильного устройства может использоваться мобильный телефон, планшетный компьютер и подобные им устройства. WIFI-кадр может включать в себя кадр данных, кадр управления и кадр контроля, а пробный запрос относится к одному из видов кадров управления. В дальнейшем описании решения, предлагаемого настоящим изобретением, будет использоваться пример, в котором WIFI-кадром выступает пробный запрос, заранее определенным полем выступает поле идентификатора сети. [0027] As a communication device of a user or a mobile device, a mobile phone, a tablet computer, and the like can be used. The WIFI frame may include a data frame, a control frame, and a control frame, and the probe request refers to one kind of control frame. In the following description of the solution proposed by the present invention, will be used an example where the WIFI frame is a probe request, the predefined field is the network ID field.
[0028] В некотором варианте реализации устройство связи пользователя может быть совместимо с техническими требованиями IEEE 802.11, которые разрешают соединения P2P (англ. «Peer to Peer», соединения равноправных участников). При таком построении беспроводное соединение может быть установлено с помощью использования устройств беспроводной связи, совместимых с техническими требованиями IEEE 802.11, которые разрешают соединения P2P. [0028] In some implementation, the user's communication device may be compliant with the IEEE 802.11 specification that allows P2P (Peer to Peer) connections. With this arrangement, a wireless connection can be established by using wireless communication devices compatible with the IEEE 802.11 specification that allow P2P connections.
[0029] Момент рассылки широковещательных запросов определяется пользовательским устройством и зависит от операционной системы, версии ПО, модели беспроводного чипа и других факторов. [0029] The timing of broadcast requests is determined by the user device and depends on the operating system, software version, wireless chip model, and other factors.
[0030] Пробный запрос может быть подготовлен с возможностью выполнения сканирования существующих сетей стандарта 802.11 в области. Устройство может инициировать отправку пробного запроса и ожидать ответа на пробный запрос от точки доступа (ТД), обнаруживая таким образом точку доступа. [0030] A probe request may be prepared to perform a scan of existing 802.11 networks in an area. The device may initiate sending a probe request and wait for a response to the probe request from the access point (AP), thus discovering the access point.
[0031] Пробный запрос включает в себя поле идентификатора сети (содержимое элемента идентификатора сети), которое в целом может быть задано как идентификатор сети определенной сети или идентификатор сети любой сети и имеет максимально допустимую длину поля, составляющую 32 байта. В вариантах осуществления настоящего изобретения, в это поле могут быть помещены данные настройки. [0031] The probe request includes a network identifier field (content of the network identifier element), which can generally be specified as a network identifier of a specific network or a network identifier of any network, and has a maximum allowed field length of 32 bytes. In embodiments of the present invention, setting data may be placed in this field.
[0032] В настоящем варианте осуществления или других вариантах осуществления настоящего изобретения, данные настройки могут включать в себя: идентификатор сети и пароль для подключения. [0032] In the present embodiment or other embodiments of the present invention, the setting data may include: a network ID and a connection password.
[0033] В некоторых вариантах реализации устройство связи пользователя в пробном запросе передает набор последних Wi-Fi сетей, к которым подключалось устройство связи пользователя. Данных сетей, например, может быть пять или десять, не ограничиваясь. [0033] In some implementations, the user's communications device sends a set of recent Wi-Fi networks to which the user's communications device has connected in the probe request. These networks, for example, may be five or ten, not limited.
[0034] Можно обобщить наиболее распространенные случаи, когда происходит рассылка пробных запросов, которые раскрыты ниже. [0034] You can summarize the most common cases where the distribution of probe requests, which are disclosed below.
[0035] Включение Wi-Fi модуля состоит из следующих шагов: [0035] Enabling the Wi-Fi module consists of the following steps:
• запуск (ручной) сканирования ближайших точек доступа; • пробуждение устройства из режима сна через нажатие кнопки;• launching a (manual) scan for nearby access points; • awakening the device from sleep mode by pressing a button;
• пробуждение устройства по команде от приложения или операционной системы; • wake up the device on command from an application or operating system;
• периодическая рассылка для актуализации списка точек доступа. [0036] Данный механизм является вспомогательным, так как информацию о точках доступа устройства связи пользователя получают путем прослушивания эфира на наличие маяков (англ «beacon»), в которых также указывается информация о точке доступа и ее параметрах. • periodic mailing to update the list of access points. [0036] This mechanism is auxiliary, since information about the access points of the user's communication device is obtained by listening to the air for the presence of beacons, which also indicate information about the access point and its parameters.
[0037] Помимо широковещательного направления запросов пользовательское устройство может отправлять персональный запрос выбранной точке доступа для того, чтобы удостовериться в ее работоспособности. Периодически пользовательские устройства производят рассылку для всех сохраненных Wi-Fi сетей методом простого перебора, пытаясь найти хотя бы одну точку поблизости. [0037] In addition to broadcasting requests, the user device can send a personal request to the selected access point in order to verify its performance. Periodically, user devices broadcast for all saved Wi-Fi networks using a simple enumeration method, trying to find at least one point nearby.
[0038] Поскольку, рассылка широковещательных запросов делается достаточно часто, это позволяет отследить конкретное устройство и даже восстановить путь его перемещения. Однако это может позволить злоумышленникам или спецслужбам производить слежку, а также совершать атаки на заранее выбранное устройство. Для избежания подобных рисков применяется методика рандомизации MAC - адреса. Основной метод заключается в том, что при отправке широковещательных и персональных запросов вместо реального MAC - адреса устройства в кадр производится подстановка случайного MAC адреса, не являющегося каким-либо образом, связанным с данным устройством. Такой MAC адрес назначается единовременно ради проведения сканирования и время его жизни равно от нескольких секунд до нескольких минут. Далее MAC - адрес заменяется на новый случайный и больше никогда не используется. Таким образом, устройства могут генерировать запросы без раскрытия своего MAC адреса. [0038] Since the broadcast requests are made often enough, this allows you to track a specific device and even restore the path of its movement. However, this may allow attackers or intelligence agencies to conduct surveillance, as well as to attack a pre-selected device. To avoid such risks, a MAC address randomization technique is used. The main method is that when sending broadcast and personal requests, instead of the real MAC address of the device, a random MAC address is substituted into the frame, which is not in any way associated with this device. Such a MAC address is assigned at a time for the sake of scanning and its lifetime is from several seconds to several minutes. Next, the MAC address is replaced with a new random one and is never used again. Thus, devices can generate requests without revealing their MAC address.
[0039] Шаг 120: генерируют Wi-Fi сеть посредством устройства сбора идентификаторов пользовательских устройств на основании набора Wi-Fi сетей, полученных в пробном запросе на предыдущем шаге. [0039] Step 120: Generating a Wi-Fi network by means of a device for collecting user device identifiers based on the set of Wi-Fi networks received in the probe request in the previous step.
[0040] На данном шаге генерируют Wi-Fi сеть на основании набора Wi-Fi сетей, которые были в пробном запросе устройства связи пользователя. Для активного трекинга в данном техническом решении может использоваться метод MANA. [0040] In this step, a Wi-Fi network is generated based on the set of Wi-Fi networks that were in the probe request of the user's communications device. For active tracking in this technical solution, the MANA method can be used.
[0041] Суть метода MANA заключается в том, чтобы отвечать на все персональные запросы от имени той точки, для которой он предназначался. Таким образом устройство связи пользователя начинает полагать, что точка доступа, для которой был инициирован запрос, находится поблизости и одним из способов, описанных выше, раскрывает свой реальнвй MAC адрес, как будет раскрыто ниже. [0041] The essence of the MANA method is to respond to all personal requests on behalf of the point for which it was intended. Thus, the user's communication device begins to believe that the access point for which the request was initiated is nearby and, in one of the ways described above, reveals its real MAC address, as will be discussed below.
[0042] Шаг 130: направляют пробный ответ от устройства сбора идентификаторов пользовательских устройств, содержащий информацию о том, что данное устройство является доверенным для пользователя и содержит возможность подключения к нему. [0042] Step 130: Send a probe response from the device for collecting user device identifiers, containing information that this device is trusted by the user and contains the ability to connect to it.
[0043] Радиус сбора МАС-адресов определяется физическими свойствами пространства, в котором расположено устройство сбора идентификаторов пользовательских устройств, а также версией его прошивки. В пространстве без стен и преград устройство принимает запросы с устройств на расстоянии до 50 метров. Количество обработанных устройством запросов с устройств может снижаться по мере снижения силы сигнала с пользовательских устройств. Устройство может работать не эффективно в пространстве с преградами, стенами или при изоляции его металлическими конструкциями, предметами. При полной изоляции можно полностью исключить возможность сбора МАС-адресов. [0043] The MAC address collection radius is determined by the physical properties of the space in which the device for collecting user device identifiers is located, as well as its firmware version. In a space without walls and barriers, the device accepts requests from devices at a distance of up to 50 meters. The number of requests processed by the device from devices may decrease as the signal strength from user devices decreases. The device may not work effectively in a space with barriers, walls, or when it is isolated by metal structures, objects. With complete isolation, you can completely eliminate the possibility of collecting MAC addresses.
[0044] При установке нескольких устройств сбора идентификаторов пользовательских устройств в одной зоне каждый из отдельных устройств обрабатывает запросы самостоятельно и передает на сервер для дальнейшей обработки. [0044] When installing multiple devices for collecting user device identifiers in one zone, each of the individual devices processes requests independently and transmits to the server for further processing.
[0045] Если на запрос с рандомизированным MAC адресом пользовательское устройство получает ответ, то оно инициирует подключение к точке доступа, так как считает, что она находится поблизости. По стандарту пользовательское устройство должно использовать свой реальный MAC - адрес для подключения. На практике устройства либо пытаются инициировать подключение и в случае неудачи отправляют запрос с реальным MAC адресом, либо после получения ответа сразу же отправляют еще один запрос уже с реальным MAC адресом. [0045] If the user device receives a response to a request with a randomized MAC address, then it initiates a connection to the access point, as it believes that it is nearby. According to the standard, the user device must use its real MAC address to connect. In practice, devices either try to initiate a connection and, if unsuccessful, send a request with the real MAC address, or after receiving response, another request is immediately sent with the real MAC address.
[0046] Для широковещательных запросов логика работы метода иная. Точка доступа, реализующая метод MANA, собирает статистику самых популярных сетей и держит в памяти базу данных, условный ТОР 10/30/100 и т.д. В момент, когда приходит широковещательных запрос от устройства связи пользователя, в ответ ему посылаются ответ с наиболее часто встречающимися сетями. Например, для г. Москва это будут MT_FREE, сети ресторанов быстрого питания и прочие известные сети. Пользовательское устройство с высокой долей вероятности находит у себя в списке хотя бы одну точку доступа, после чего инициирует подключение к ней и раскрывает свой реальный MAC адрес одним из указанных способов, как показано на Фиг. 2. Формат полученных данных от устройства связи пользователя может быть: Protocol | Login | Challenge | Response. [0046] For broadcast requests, the logic of the method is different. An access point that implements the MANA method collects statistics of the most popular networks and keeps a database, conditional TOP 10/30/100, etc. in memory. At the moment when a broadcast request comes from the user's communication device, a response with the most frequently encountered networks is sent in response to it. For example, for Moscow it will be MT_FREE, chains of fast food restaurants and other well-known chains. The user device with a high degree of probability finds at least one access point in its list, after which it initiates a connection to it and reveals its real MAC address in one of the specified ways, as shown in Fig. 2. The format of the received data from the user's communication device can be: Protocol | Login | challenge | Response.
[0047] Шаг 140: получают от устройства пользователя запрос авторизации в сгенерированной Wi-Fi сети на устройство сбора идентификаторов пользовательских устройств, содержащий реальный МАС-адрес данного устройства. [0047] Step 140: receive from the user's device an authorization request in the generated Wi-Fi network to the device for collecting user device identifiers, containing the real MAC address of this device.
[0048] Запрос авторизации - это попытка авторизации в сети Wi-Fi. [0048] An authorization request is an attempt to authorize on a Wi-Fi network.
[0049] Наиболее распространенными способами авторизации являются: [0049] The most common authorization methods are:
• пользователю необходимо указать свой е-мейл или аккаунт в социальной сети Facebook и принять условия пользования; • the user must specify his e-mail or account in the social network Facebook and accept the terms of use;
• необходимо просто принять условия; • you just need to accept the terms;
• провайдер сети присылает QR-код, который пользователь должен отсканировать и перейти по полученной ссылке. • the network provider sends a QR code, which the user must scan and follow the link received.
[0050] Таким образом, пользовательские устройства раскрывают свой MAC адрес вне зависимости от того подключены ли они к какой-либо сети и включен ли у них механизм рандомизации. [0050] Thus, user devices disclose their MAC address regardless of whether they are connected to any network and whether they have the randomization mechanism enabled.
[0051] Если у клиентского устройства используется вариант рандомизации, когда на каждый SSID генерируется уникальный случайный МАС-адрес, то для технического решения это будет выглядеть как кратно большее количество пользовательских устройств. Отличие "per SSID" варианта рандомизации состоит лишь в том, что привязка осуществляется не к устройству, а к связке устройство + SSID. То есть, виртуально это можно представить как случай, когда конкретный пользователь владеет несколькими десятками устройств и использует каждое конкретное устройство для подключения только к одной сети. [0051] If the client device uses the randomization option, when a unique random MAC address is generated for each SSID, then for a technical solution this will look like a multiple of the number of user devices. The difference between the "per SSID" randomization option is only that the binding is not carried out to device, and to a bunch of device + SSID. That is, virtually it can be imagined as a case where a particular user owns several dozen devices and uses each specific device to connect to only one network.
[0052] Графически схема взаимодействия компонент технического решения показана на Фиг. 2. [0052] Graphically, the interaction diagram of the components of the technical solution is shown in Fig. 2.
[0053] Модуль трекинга (или отслеживания) состоит из скрипта запуска, демона. Во время запуска демон считывает параметры из файла конфигурации. Параметр radarjd задает уникальное имя устройства, которым может быть роутер с прошивкой. Параметр server задает сервер, на который необходимо отправлять обнаруженные MAC адреса. Параметр port задает порт, на который необходимо отправлять логи обнаруженных MAC адресов. Отправка обнаруженных MAC адресов осуществляется с помощью вышеуказанного устройства по TCP-протоколу с использованием IP. [0053] The tracking (or tracking) module consists of a startup script, a daemon. During startup, the daemon reads options from the configuration file. The radarjd parameter specifies a unique device name, which can be a firmware router. The server parameter specifies the server to which the discovered MAC addresses should be sent. The port parameter specifies the port to which logs of discovered MAC addresses should be sent. Sending detected MAC addresses is carried out using the above device via TCP protocol using IP.
[0054] Во время работы сервиса демон должен быть запущен. Запуск и отслеживание работоспособности демона выполняется внешними демонами и модуль трекинга никак не влияет на этот процесс. Демон построчно записывает обнаруженные MAC адреса в файл. Данный файл находится в оперативной памяти устройства и его размер ограничивается порогом 5 Мегабайт другим демоном. Если файл превышает указанный порог, то другой демон подменяет файл на пустой. [0054] While the service is running, the daemon must be running. Starting and monitoring the health of the daemon is performed by external daemons and the tracking module does not affect this process in any way. The daemon writes the discovered MAC addresses to a file line by line. This file is located in the RAM of the device and its size is limited by a threshold of 5 MB by another daemon. If the file exceeds the specified threshold, then another daemon replaces the file with an empty one.
[0055] Другой демон в режиме реального времени выполняет сканирование файла с логом обнаруженных MAC адресов. Во время каждой итерации основного цикла происходит подсчет количества строк в файле, отправка всех строк начиная с момента последней удачной отправки данных с устройства на сервер и сохранение номера текущей строки, если отправка была удачной. Демон предпринимает бесконечное количество попыток отправить накопившийся лог с момента последней удачной отправки. В случае если накопившейся лог превысит допустимый объем 5 Мегабайт, то демон заменит файл и все не отправленные данные потеряются. [0055] Another daemon performs a real-time scan of the detected MAC address log file. During each iteration of the main loop, the number of lines in the file is counted, all lines are sent since the last successful data transfer from the device to the server, and the current line number is saved if the transfer was successful. The daemon has been making an infinite number of attempts to send the accumulated log since the last successful send. If the accumulated log exceeds the allowable size of 5 megabytes, the daemon will replace the file and all unsent data will be lost.
[0056] По умолчанию сервис стартует во время запуска ОС роутера. [0056] By default, the service starts during the startup of the router OS.
[0057] Для остановки сервиса необходимо выполнить заранее заданную команду. [0058] Модуль онлайна состоит из скрипта запуска и демона. Во время запуска демон считывает параметры из файла конфигурации. Параметр radarjd задает уникальное имя устройства. Параметр onliner server задает сервер для сбора статистических и технических данных с роутера, на который необходимо отправлять текущий статус состояния устройства: нагрузка процессора, потребление памяти, количество собранных МАС- адресов. Параметр onliner_port задает порт, на который необходимо отправлять текущий статус. Во время работы модуль онлайна отправляет сигнал о том, что техническое решение находится в сети и работоспособно. [0057] To stop the service, you must execute a predefined command. [0058] The online module consists of a startup script and a daemon. During startup, the daemon reads options from the configuration file. The radarjd parameter specifies a unique device name. The onliner server parameter specifies the server for collecting statistical and technical data from the router, to which the current status of the device should be sent: processor load, memory consumption, the number of collected MAC addresses. The onliner_port parameter specifies the port to which the current status should be sent. During operation, the online module sends a signal that the technical solution is online and operational.
[0059] Дополнительно передаются следующие параметры от устройства на сервер: [0059] Additionally, the following parameters are transmitted from the device to the server:
• текущая версия конфигурации устройства; • current device configuration version;
• тип конфигурации; • configuration type;
• ID радара; • Radar ID;
• модель роутера; • router model;
• версия прошивки. • firmware version.
[0060] Отправка осуществляется посредством протокола HTTP с payload в формате JSON на указанный сервер и порт. [0060] Sending is carried out via the HTTP protocol with payload in JSON format to the specified server and port.
[0061] По умолчанию сервис стартует во время запуска ОС роутера. [0061] By default, the service starts during the startup of the router OS.
[0062] Шаг 150: отменяют полученный от устройства пользователя запрос авторизации посредством устройства сбора идентификаторов пользовательских устройств. [0062] Step 150: Cancel the authorization request received from the user device by the user device ID collection device.
[0063] Запрос авторизации пользователя к Wi-Fi сети отменяют в связи с тем, что по сути Wi-Fi сети нет. Точка доступа моделировалась и пользователю не к чему устройству. В случае отмены запроса авторизации устройство связи пользователя направит пробный запрос для поиска беспроводных точке доступа, содержащий реальный МАС-адрес данного устройства, что происходит на следующем шаге. [0063] The user authorization request to the Wi-Fi network is canceled due to the fact that there is essentially no Wi-Fi network. The access point was simulated and the user has nothing to do with the device. If the authorization request is canceled, the user's communication device will send a test request to search for wireless access points containing the real MAC address of this device, which occurs in the next step.
[0064] Шаг 160: получают на устройстве сбора идентификаторов пользовательских устройств пробный запрос для поиска беспроводных точек доступа, содержащий реальный МАС-адрес данного устройства. [0065] После того как получены реальные MAC - адреса, они передаются на сервер для дальнейшей обработки. Обработка подразумевает анализ и фильтрацию данных от непригодных к экспорту на рекламные площадки. [0066] Непригодными данными к экспорту считаются МАС-адреса, по которым нельзя установить информацию о производителе устройства, а также данные, обработанные по специальному алгоритму. Устройства подменяют МАС-адрес для скрытия настоящего идентификатора. Данный процесс называется "рандомизацией". [0064] Step 160: Receive, at the user device ID collection device, a probe request to search for wireless access points containing the real MAC address of the device. [0065] After real MAC addresses are received, they are transmitted to the server for further processing. Processing involves analyzing and filtering data from unsuitable for export to advertising platforms. [0066] Unsuitable data for export are MAC addresses that cannot be used to establish information about the device manufacturer, as well as data processed using a special algorithm. Devices spoof the MAC address to hide the real ID. This process is called "randomization".
[0067] Данные, собранные устройством сбора идентификаторов пользовательских устройств, после обработки экспортируются на рекламные площадки через личный кабинет. В некоторых вариантах реализации данные можно экспортировать на площадки Яндекс, MyTarget, Facebook и т.д, не ограничиваясь. Данные можно экспортировать на адрес электронной почты и FTP сервер. Данные можно отфильтровать по периоду сбора и типу посетителей. Возможно создавать обновляемые выгрузки. Минимальный гарантированный срок обновления данных на рекламной площадке - 24 часа. Данные будут доступны для запуска рекламы в Яндекс.Директ, РСЯ, Яндекс. Дисплей, MyTarget. Чтобы получить доступ к данным на рекламных площадках Яндекс, MyTarget, Facebook при экспорте необходимо указать почтовые адреса или ID, на которые зарегистрирован аккаунт в системах Яндекс, MyTarget, Facebook соответственно. Выгрузка аудиторий в Яндекс возможна на несколько аккаунтов. Для MyTarget и Facebook только в один. Процесс выгрузки и обработки данных со стороны рекламных площадок может занимать от 5 минут до 24 часов, в зависимости от объема данных. [0067] The data collected by the device for collecting user device identifiers is exported to advertising platforms through a personal account after processing. In some implementations, data can be exported to Yandex, MyTarget, Facebook, etc., without being limited. The data can be exported to an email address and an FTP server. Data can be filtered by collection period and visitor type. It is possible to create updatable downloads. The minimum guaranteed period for updating data on the advertising platform is 24 hours. The data will be available to launch advertising in Yandex.Direct, YAN, Yandex. Display, MyTarget. To access data on advertising platforms Yandex, MyTarget, Facebook when exporting, you must specify the postal addresses or IDs to which the account is registered in the Yandex, MyTarget, Facebook systems, respectively. Uploading audiences to Yandex is possible for several accounts. For MyTarget and Facebook only one. The process of uploading and processing data from advertising platforms can take from 5 minutes to 24 hours, depending on the amount of data.
[0068] В данном техническом решении может быть реализован личный кабинет для просмотра пользователем данных о собранных MAC - адресах. Личный кабинет предоставляет доступ к мониторингу статистической информации по собранным данным. [0068] In this technical solution, a personal account can be implemented for the user to view data about the collected MAC addresses. The personal account provides access to the monitoring of statistical information on the collected data.
[0069] Данные можно фильтровать по периоду и устройствам сбора идентификаторов пользовательских устройств, если установлено несколько. [0069] The data can be filtered by the period and devices for collecting user device IDs, if more than one is set.
[0070] Пояснения к статистическим цифрам: [0070] Explanation of statistical figures:
[0071] Общая аудитория - всего собранных МАС-адресов. [0071] The total audience is the total collected MAC addresses.
[0072] Новые гости - количество МАС-адресов, зарегистрированные впервые. [0072] New guests - the number of MAC addresses registered for the first time.
[0073] Постоянные - количество МАС-адресов, зарегистрированные 2 и более раза. [0073] Permanent - the number of MAC addresses registered 2 or more times.
[0074] Прошли мимо - количество МАС-адресов, которые в рамках 1 минут отправляли подряд запросы в период менее 10 секунд. [0074] Passed by - the number of MAC addresses that within 1 minute sent consecutive requests in a period of less than 10 seconds.
[0075] Вошли - количество МАС-адресов, которые находились ближе, чем на 15 метров от роутера и находились в зоне действия более 10 секунд. [0076] Данные параметры используются по умолчанию. Изменить их возможно в карточке устройства сбора идентификаторов пользовательских устройств. [0075] Entered - the number of MAC addresses that were closer than 15 meters from the router and were in range for more than 10 seconds. [0076] These parameters are used by default. You can change them in the device card for collecting user device identifiers.
[0077] Ссылаясь на Фиг. 4, данное техническое решение может быть реализовано в виде вычислительной системы 400 осуществления сбора идентификаторов пользовательских устройств в виде MAC - адресов, которая содержит один или более из следующих компонентов: [0077] Referring to FIG. 4, this technical solution can be implemented as a computing system 400 for collecting user device identifiers in the form of MAC addresses, which contains one or more of the following components:
• компонент 401 обработки, содержащий по меньшей мере один процессор 402, • a processing component 401 comprising at least one processor 402,
• память 403, • memory 403,
• компонент 405 мультимедиа, • компонент 406 аудио, • multimedia component 405, • audio component 406,
• интерфейс 407 ввода / вывода (I / О), • interface 407 input / output (I / O),
• сенсорный компонент 408, • sensor component 408,
• компонент 409 передачи данных. • component 409 data.
[0078] Компонент 401 обработки в основном управляет всеми операциями системы 400, например, осуществляет обработку данных о пользователе или его запросе на подключение к сети, а также управляет дисплеем, телефонным звонком, передачей данных, работой камеры и операцией записи мобильного устройства связи. Компонент 401 обработки может включать в себя один или более процессоров 402, реализующих инструкции для завершения всех или части шагов из указанных выше способов. Кроме того, компонент 401 обработки может включать в себя один или более модулей для удобного процесса взаимодействия между другими модулями 401 обработки и другими модулями. Например, компонент 401 обработки может включать в себя мультимедийный модуль для удобного облегченного взаимодействия между компонентом 405 мультимедиа и компонентом 401 обработки. [0078] The processing component 401 mainly manages all operations of the system 400, such as processing the user data or network connection request, and managing the display, phone call, data transfer, camera operation, and recording operation of the mobile communication device. Processing component 401 may include one or more processors 402 executing instructions for completing all or part of the steps from the above methods. In addition, the processing component 401 may include one or more modules for convenient interaction between other processing modules 401 and other modules. For example, the processing component 401 may include a multimedia module for convenient, lightweight interaction between the multimedia component 405 and the processing component 401.
[0079] Память 403 выполнена с возможностью хранения различных типов данных для поддержки работы системы 400, например, базу данных с профилями пользователей. Примеры таких данных включают в себя инструкции из любого приложения или способа, контактные данные, данные адресной книги, сообщения, изображения, видео, и т. д., и все они работают на системе 400. Память 403 может быть реализована в виде любого типа энергозависимого запоминающего устройства, энергонезависимого запоминающего устройства или их комбинации, например, статического оперативного запоминающего устройства (СОЗУ), Электрически-Стираемого Программируемого постоянного запоминающего устройства (ЭСППЗУ), Стираемого Программируемого постоянного запоминающего устройства (СППЗУ), Программируемого постоянного запоминающего устройства (ППЗУ), постоянного запоминающего устройства (ПЗУ), магнитной памяти, флэш-памяти, магнитного диска или оптического диска и другого, не ограничиваясь. [0079] The memory 403 is configured to store various types of data to support the operation of the system 400, such as a user profile database. Examples of such data include instructions from any application or method, contact data, address book data, messages, images, videos, etc., all of which run on system 400. Memory 403 may be implemented as any type of volatile memory, non-volatile memory, or combinations thereof, e.g., static random access memory (SRAM), Electrically Erasable Programmable Read Only Memory (EEPROM), Erasable Programmable Read Only Memory (EPROM), Programmable Read Only Memory (PROM), Read Only Memory device (ROM), magnetic memory, flash memory, magnetic disk or optical disk, and others, without being limited.
[0080] Компонент 405 мультимедиа включает в себя экран, обеспечивающий выходной интерфейс между системой 400, которая может быть установлена на мобильном устройстве связи пользователя и пользователем. В некоторых вариантах реализации, экран может быть жидкокристаллическим дисплеем (ЖКД) или сенсорной панелью (СП). Если экран включает в себя сенсорную панель, экран может быть реализован в виде сенсорного экрана для приема входного сигнала от пользователя. Сенсорная панель включает один или более сенсорных датчиков в смысле жестов, прикосновения и скольжения по сенсорной панели. Сенсорный датчик может не только чувствовать границу прикосновения субъекта или жест перелистывания, но и определять длительность времени и давления, связанных с режимом работы на прикосновение и скольжение. В некоторых вариантах осуществления компонент 405 мультимедиа включает одну фронтальную камеру и/или одну заднюю камеру. Когда система 400 находится в режиме работы, например, режиме съемки или режиме видео, фронтальная камера и/или задняя камера могут получать данные мультимедиа извне. Каждая фронтальная камера и задняя камера может быть одной фиксированной оптической системой объектива или может иметь фокусное расстояние или оптический зум. [0080] The media component 405 includes a screen that provides an output interface between the system 400, which can be installed on the mobile communication device of the user and the user. In some implementations, the screen may be a liquid crystal display (LCD) or a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input from a user. The touchpad includes one or more touch sensors in terms of gestures, touching and sliding on the touchpad. The touch sensor can not only sense the subject's touch boundary or swipe gesture, but also determine the length of time and pressure associated with the touch and slide operation mode. In some embodiments, media component 405 includes one front camera and/or one rear camera. When the system 400 is in an operating mode, such as shooting mode or video mode, the front camera and/or rear camera can receive media data from outside. Each front camera and rear camera can be one fixed lens optics system or can have focal length or optical zoom.
[0081] Компонент 406 аудио выполнен с возможностью выходного и/или входного аудио сигнала. Например, компонент 406 аудио включает один микрофон (MIC), который выполнен с возможностью получать внешний аудио сигнал, когда система 400 находится в режиме работы, например, режиме вызова, режима записи и режима распознавания речи. Полученный аудио сигнал может быть далее сохранен в памяти 403 или направлен по компоненту 409 передачи данных. В некоторых вариантах осуществления компонент 406 аудио также включает в себя один динамик, выполненный с возможностью вывода аудио сигнала. [0081] The audio component 406 is configured to output and/or input an audio signal. For example, the audio component 406 includes one microphone (MIC) that is configured to receive an external audio signal when the system 400 is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode. The received audio signal may be further stored in the memory 403 or routed through the communication component 409 . In some embodiments, the audio component 406 also includes a single speaker configured to output an audio signal.
[0082] Интерфейс 407 ввода / вывода (I / О) обеспечивает интерфейс между компонентом 401 обработки и любым периферийным интерфейсным модулем. Вышеуказанным периферийным интерфейсным модулем может быть клавиатура, руль, кнопка, и т. д. Эти кнопки могут включать, но не ограничиваясь, кнопку запуска, кнопку регулировки громкости, начальную кнопку и кнопку блокировки. [0083] Сенсорный компонент 408 содержит один или более сенсоров и выполнен с возможностью обеспечения различных аспектов оценки состояния системы 400. Например, сенсорный компонент 408 может обнаружить состояния вкл/выкл системы 400, относительное расположение компонентов, например, дисплея и кнопочной панели, одного компонента системы 400, наличие или отсутствие контакта между субъектом и системой 400, а также ориентацию или ускорение/замедление и изменение температуры системы 400. Сенсорный компонент 408 содержит бесконтактный датчик, выполненный с возможностью обнаружения присутствия объекта, находящегося поблизости, когда нет физического контакта. Сенсорный компонент 408 содержит оптический датчик (например, КМОП или ПЗС-датчик изображения) выполненный с возможностью использования в визуализации приложения. В некоторых вариантах сенсорный компонент 408 содержит датчик ускорения, датчик гироскопа, магнитный датчик, датчик давления или датчик температуры. [0084] Компонент 409 передачи данных выполнен с возможностью облегчения проводной или беспроводной связи между системой 400 и другими устройствами. Система 400 может получить доступ к беспроводной сети на основе стандарта связи, таких как WiFi, 2G, 3G, 5G, или их комбинации. В одном примерном варианте компонент 409 передачи данных получает широковещательный сигнал или трансляцию, связанную с ними информацию из внешней широковещательной системы управления через широковещательный канал. В одном варианте осуществления компонент 409 передачи данных содержит модуль коммуникации ближнего поля (NFC), чтобы облегчить ближнюю связь. Например, модуль NFC может быть основан на технологии радиочастотной идентификации (RFID), технологии ассоциации передачи данных в инфракрасном диапазоне (IrDA), сверхширокополосных (UWB) технологии, Bluetooth (ВТ) технологии и других технологиях. [0082] An input/output (I/O) interface 407 provides an interface between the processing component 401 and any peripheral interface module. The above peripheral interface module may be a keyboard, steering wheel, button, etc. These buttons may include, but are not limited to, a start button, a volume button, a home button, and a lock button. [0083] The touch component 408 includes one or more sensors and is configured to provide various aspects of estimating the state of the system 400. For example, the touch component 408 can detect the on/off states of the system 400, the relative position of components, such as a display and a keypad, of a single component system 400, the presence or absence of contact between a subject and system 400, as well as the orientation or acceleration/deceleration and temperature change of system 400. Sensor component 408 includes a proximity sensor configured to detect the presence of a nearby object when there is no physical contact. The sensor component 408 includes an optical sensor (eg, CMOS or CCD image sensor) configured for use in rendering an application. In some embodiments, the sensor component 408 includes an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor. [0084] The communication component 409 is configured to facilitate wired or wireless communication between the system 400 and other devices. System 400 may access a wireless network based on a communication standard such as WiFi, 2G, 3G, 5G, or combinations thereof. In one exemplary embodiment, the communication component 409 receives a broadcast signal or broadcast related information from an external broadcast control system via a broadcast channel. In one embodiment, communication component 409 includes a Near Field Communication (NFC) module to facilitate near field communications. For example, the NFC module may be based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
[0085] В примерном варианте осуществления система 400 может быть реализована посредством одной или более Специализированных Интегральных Схем (СИС), Цифрового Сигнального Процессора (ЦСП), Устройств Цифровой Обработки Сигнала (УЦОС), Программируемым Логическим Устройством (ПЛУ), логической микросхемой, программируемой в условиях эксплуатации (ППВМ), контроллера, микроконтроллера, микропроцессора или других электронных компонентов, и может быть сконфигурирован для реализации способа 500 осуществления сбора идентификаторов пользовательских устройств в виде MAC - адресов. [0085] In an exemplary embodiment, system 400 may be implemented by one or more Application-Specific Integrated Circuits (ASICs), a Digital Signal Processor (DSP), a Digital Signal Processor (DSP), a programmable logic unit (PLU), a logic chip, field programmable (FPGA), controller, microcontroller, microprocessor, or other electronic components, and can be configured to implement a method 500 for collecting user device identifiers in the form of MAC addresses.
[0086] В примерном варианте осуществления энергонезависимый машиночитаемый носитель содержит память 403, которая включает инструкции, где инструкции выполняются процессором 401 системы 400 для реализации описанных выше способов осуществления сбора идентификаторов пользовательских устройств в виде MAC - адресов. Например, энергонезависимым машиночитаемым носителем может быть ПЗУ, оперативное запоминающее устройство (ОЗУ), компакт-диск, магнитная лента, дискеты, оптические устройства хранения данных и тому подобное. [0087] Вычислительная система 400 может включать в себя интерфейс дисплея, который передает графику, текст и другие данные из коммуникационной инфраструктуры (или из буфера кадра, не показан) для отображения на компоненте 405 мультимедиа. Вычислительная система 400 дополнительно включает в себя устройства ввода или периферийные устройства. Периферийные устройства могут включать в себя одно или несколько устройств для взаимодействия с мобильным устройством связи пользователя, такие как клавиатура, микрофон, носимое устройство, камера, один или более звуковых динамиков и другие датчики. Периферийные устройства могут быть внешними или внутренними по отношению к мобильному устройству связи пользователя. Сенсорный экран может отображать, как правило, графику и текст, а также предоставляет пользовательский интерфейс (например, но не ограничиваясь ими, графический пользовательский интерфейс (GUI)), через который субъект может взаимодействовать с мобильным устройством связи пользователя, например, получать доступ и взаимодействовать с приложениями, запущенными на устройстве. [0086] In an exemplary embodiment, the non-volatile computer-readable medium includes a memory 403 that includes instructions where the instructions are executed by the processor 401 of the system 400 to implement the methods described above for collecting user device identifiers in the form of MAC addresses. For example, a non-volatile computer-readable medium can be ROM, random access memory (RAM), compact disk, magnetic tape, floppy disks, optical storage devices, and the like. [0087] Computing system 400 may include a display interface that transmits graphics, text, and other data from a communications infrastructure (or framebuffer, not shown) for display on media component 405. Computing system 400 further includes input devices or peripherals. Peripheral devices may include one or more devices for interacting with a user's mobile communications device, such as a keyboard, microphone, wearable device, camera, one or more audio speakers, and other sensors. Peripherals may be external or internal to the user's mobile communication device. The touch screen may display, typically, graphics and text, and also provides a user interface (such as, but not limited to, a graphical user interface (GUI)) through which a subject may interact with the user's mobile communications device, such as accessing and interacting with with applications running on the device.
[0088] Элементы заявляемого технического решения находятся в функциональной взаимосвязи, а их совместное использование приводит к созданию нового и уникального технического решения. Таким образом, все блоки функционально связаны. [0089] Все блоки, используемые в системе, могут быть реализованы с помощью электронных компонент, используемых для создания цифровых интегральных схем, что очевидно для специалиста в данном уровне техники. Не ограничиваюсь, могут использоваться микросхемы, логика работы которых определяется при изготовлении, или программируемые логические интегральные схемы (ПЛИС), логика работы которых задаётся посредством программирования. Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др. Альтернативой ПЛИС могут быть программируемые логические контроллеры (ПЛК), базовые матричные кристаллы (БМК), требующие заводского производственного процесса для программирования; ASIC - специализированные заказные большие интегральные схемы (БИС), которые при мелкосерийном и единичном производстве существенно дороже. [0088] The elements of the proposed technical solution are in a functional relationship, and their joint use leads to the creation of a new and unique technical solution. Thus, all blocks are functionally connected. [0089] All blocks used in the system can be implemented using electronic components used to create digital integrated circuits, which is obvious to a person skilled in the art. Not limited to, microcircuits can be used, the logic of which is determined during manufacture, or programmable logic integrated circuits (FPGA), the logic of which is set by programming. Programmers and debugging environments are used for programming, allowing you to set the desired structure of a digital device in the form of a circuit diagram or a program in special hardware description languages: Verilog, VHDL, AHDL, etc. An alternative to FPGAs can be programmable logic controllers (PLCs), basic matrix crystals ( BMK), requiring a factory production process for programming; ASIC - specialized custom-made large integrated circuits (LSI), which are significantly more expensive for small-scale and single-piece production.
[0090] Обычно, сама микросхема ПЛИС состоит из следующих компонент: [0090] Typically, the FPGA chip itself consists of the following components:
• конфигурируемых логических блоков, реализующих требуемую логическую функцию; • configurable logical blocks that implement the required logical function;
• программируемых электронных связей между конфигурируемыми логическими блоками; • programmable electronic links between configurable logic blocks;
• программируемых блоков ввода/вывода, обеспечивающих связь внешнего вывода микросхемы с внутренней логикой. • programmable input/output blocks that provide communication between the external output of the microcircuit and the internal logic.
[0091] Также блоки могут быть реализованы с помощью постоянных запоминающих устройств. [0091] Blocks can also be implemented using read-only memories.
[0092] Таким образом, реализация всех используемых блоков достигается стандартными средствами, базирующимися на классических принципах реализации основ вычислительной техники. [0092] Thus, the implementation of all used blocks is achieved by standard means based on the classical principles of implementing the fundamentals of computer technology.
[0093] Как будет понятно специалисту в данной области техники, аспекты настоящего технического решения могут быть выполнены в виде системы, способа или компьютерного программного продукта. Соответственно, различные аспекты настоящего технического решения могут быть реализованы исключительно как аппаратное обеспечение, как программное обеспечение (включая прикладное программное обеспечение и так далее) или как вариант осуществления, сочетающий в себе программные и аппаратные аспекты, которые в общем случае могут упоминаться как «модуль», «система» или «архитектура». Кроме того, аспекты настоящего технического решения могут принимать форму компьютерного программного продукта, реализованного на одном или нескольких машиночитаемых носителях, имеющих машиночитаемый программный код, который на них реализован. [0093] As one of skill in the art will appreciate, aspects of the present technical solution may be implemented as a system, method, or computer program product. Accordingly, various aspects of the present technical solution may be implemented solely as hardware, as software (including application software, and so on) or as an implementation that combines software and hardware aspects, which may be referred to generally as a "module", "system", or "architecture". In addition, aspects of the present technical solution may take the form of a computer program product implemented on one or more computer-readable media having computer-readable program code embodied thereon.
[0094] Также может быть использована любая комбинация одного или нескольких машиночитаемых носителей. Машиночитаемый носитель хранилища может представлять собой, без ограничений, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, аппарат, устройство или любую подходящую их комбинацию. Конкретнее, примеры (неисчерпывающий список) машиночитаемого носителя хранилища включают в себя: электрическое соединение с помощью одного или нескольких проводов, портативную компьютерную дискету; жесткий диск, оперативную память (ОЗУ), постоянную память (ПЗУ), стираемую программируемую постоянную память (EPROM или Flash-память), оптоволоконное соединение, постоянную память на компакт-диске (CD-ROM), оптическое устройство хранения, магнитное устройство хранения или любую комбинацию вышеперечисленного. В контексте настоящего описания, машиночитаемый носитель хранилища может представлять собой любой гибкий носитель данных, который может содержать или хранить программу для использования самой системой, устройством, аппаратом или в соединении с ними. [0094] Any combination of one or more computer-readable media can also be used. The computer-readable storage medium can be, without limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or any suitable combination thereof. More specifically, examples (non-exhaustive list) of a computer-readable storage medium include: an electrical connection using one or more wires, a portable computer diskette; hard disk, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or Flash memory), fiber optic connection, compact disc read only memory (CD-ROM), optical storage device, magnetic storage device or any combination of the above. As used herein, a computer-readable storage medium can be any flexible storage medium that can contain or store a program for use by or in connection with a system, device, apparatus, or in connection with them.
[0095] Программный код, встроенный в машиночитаемый носитель, может быть передан с помощью любого носителя, включая, без ограничений, беспроводную, проводную, оптоволоконную, инфракрасную и любую другую подходящую сеть или комбинацию вышеперечисленного. [0095] The program code embedded in a computer-readable medium may be transmitted using any medium, including, without limitation, wireless, wired, fiber optic, infrared, and any other suitable network, or a combination of the foregoing.
[0096] Компьютерный программный код для выполнения операций для шагов настоящего технического решения может быть написан на любом языке программирования или комбинаций языков программирования, включая объектно-ориентированный язык программирования, например Python, R, Java, Smalltalk, C++ и так далее, и обычные процедурные языки программирования, например язык программирования «С» или аналогичные языки программирования. Программный код может выполняться на компьютере пользователя полностью, частично, или же как отдельный пакет программного обеспечения, частично на компьютере пользователя и частично на удаленном компьютере, или же полностью на удаленном компьютере. В последнем случае, удаленный компьютер может быть соединен с компьютером пользователя через сеть любого типа, включая локальную сеть (LAN), глобальную сеть (WAN) или соединение с внешним компьютером (например, через Интернет с помощью Интернет- провайдеров). [0096] The computer program code for performing the operations for the steps of the present technical solution may be written in any programming language or combinations of programming languages, including an object-oriented programming language, for example Python, R, Java, Smalltalk, C++, and so on, and conventional procedural programming languages such as the C programming language or similar programming languages. The program code may be executed in whole, in part on the user's computer, or as a separate software package, in part on the user's computer and in part on a remote computer, or entirely on a remote computer. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN), a wide area network (WAN), or a connection to an external computer (eg, via the Internet via ISPs).
[0097] Аспекты настоящего технического решения были описаны подробно со ссылкой на блок-схемы, принципиальные схемы и/или диаграммы способов, устройств (систем) и компьютерных программных продуктов в соответствии с вариантами осуществления настоящего технического решения. Следует иметь в виду, что каждый блок из блок-схемы и/или диаграмм, а также комбинации блоков из блок-схемы и/или диаграмм, могут быть реализованы компьютерными программными инструкциями. Эти компьютерные программные инструкции могут быть предоставлены процессору компьютера общего назначения, компьютера специального назначения или другому устройству обработки данных для создания процедуры, таким образом, чтобы инструкции, выполняемые процессором компьютера или другим программируемым устройством обработки данных, создавали средства для реализации функций/действий, указанных в блоке или блоках блок-схемы и/или диаграммы. [0097] Aspects of the present technical solution have been described in detail with reference to block diagrams, circuit diagrams and/or diagrams of methods, devices (systems), and computer program products in accordance with embodiments of the present technical solution. It should be appreciated that each block from the block diagram and/or diagrams, as well as combinations of blocks from the block diagram and/or diagrams, may be implemented by computer program instructions. These computer program instructions may be provided to the processor of a general purpose computer, a special purpose computer, or other data processing device to create a procedure, such that the instructions executed by the computer processor or other programmable data processing device create the means to implement the functions/actions specified in block or blocks of a flowchart and/or diagram.
[0098] Эти компьютерные программные инструкции также могут храниться на машиночитаемом носителе, который может управлять компьютером, отличным от программируемого устройства обработки данных или отличным от устройств, которые функционируют конкретным образом, таким образом, что инструкции, хранящиеся на машиночитаемом носителе, создают устройство, включающее инструкции, которые осуществляют функции/действия, указанные в блоке блок-схемы и/или диаграммы. [0098] These computer program instructions may also be stored on a computer-readable medium that can control a computer other than a programmable data processing device or other than devices that operate in a particular manner such that the instructions stored on the computer-readable medium create a device including instructions that perform the functions/actions indicated in the block diagram and/or diagram.
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2021103037 | 2021-02-09 | ||
| RU2021103037A RU2765980C1 (en) | 2021-02-09 | 2021-02-09 | Method and system for collecting user device identifiers in form of mac addresses |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022173320A1 true WO2022173320A1 (en) | 2022-08-18 |
Family
ID=80214763
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/RU2021/000058 Ceased WO2022173320A1 (en) | 2021-02-09 | 2021-02-09 | Method and system for collecting user device identifiers in the form of mac addresses |
Country Status (2)
| Country | Link |
|---|---|
| RU (1) | RU2765980C1 (en) |
| WO (1) | WO2022173320A1 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106658586A (en) * | 2016-12-05 | 2017-05-10 | 任子行网络技术股份有限公司 | Method used for acquiring MAC address of iOS device |
| CN107094293A (en) * | 2017-06-27 | 2017-08-25 | 南京赢纳信息科技有限公司 | A kind of device and method for obtaining WiFi terminal real MAC address |
| WO2018014874A1 (en) * | 2016-07-21 | 2018-01-25 | 深圳奇迹智慧网络有限公司 | Mobile terminal mac data acquisition method |
| RU2708043C2 (en) * | 2016-11-01 | 2019-12-03 | Общество с ограниченной ответственностью "НПО Аналитика" | Method of collecting information offline for analyzing audiences in outdoor advertising and measuring efficiency of outdoor advertising |
| RU2729969C1 (en) * | 2019-09-30 | 2020-08-13 | Игорь Сергеевич Леконцев | Method of identifying user of wireless communication device, system for realizing said method and machine-readable medium containing instructions, which lead to realizing method |
-
2021
- 2021-02-09 WO PCT/RU2021/000058 patent/WO2022173320A1/en not_active Ceased
- 2021-02-09 RU RU2021103037A patent/RU2765980C1/en active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018014874A1 (en) * | 2016-07-21 | 2018-01-25 | 深圳奇迹智慧网络有限公司 | Mobile terminal mac data acquisition method |
| RU2708043C2 (en) * | 2016-11-01 | 2019-12-03 | Общество с ограниченной ответственностью "НПО Аналитика" | Method of collecting information offline for analyzing audiences in outdoor advertising and measuring efficiency of outdoor advertising |
| CN106658586A (en) * | 2016-12-05 | 2017-05-10 | 任子行网络技术股份有限公司 | Method used for acquiring MAC address of iOS device |
| CN107094293A (en) * | 2017-06-27 | 2017-08-25 | 南京赢纳信息科技有限公司 | A kind of device and method for obtaining WiFi terminal real MAC address |
| RU2729969C1 (en) * | 2019-09-30 | 2020-08-13 | Игорь Сергеевич Леконцев | Method of identifying user of wireless communication device, system for realizing said method and machine-readable medium containing instructions, which lead to realizing method |
Also Published As
| Publication number | Publication date |
|---|---|
| RU2765980C1 (en) | 2022-02-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3799321B1 (en) | Method and device for activating near field communication card | |
| CN107786794B (en) | Electronic device and method for providing an application with an image acquired by an image sensor | |
| US20180368058A1 (en) | Method for controlling device access, and related device and system | |
| US10212025B2 (en) | Router management method, router and mobile terminal | |
| EP3582530A1 (en) | Method for connecting to network, mobile terminal, electronic device, and graphical user interface | |
| CN112511393B (en) | Equipment linkage control method and device and storage medium | |
| JP2017510182A (en) | Wireless sensor network | |
| KR102178305B1 (en) | Security system for controlling IoT network access | |
| CN105320616B (en) | External device control method and device | |
| CN113168334A (en) | Data processing method, apparatus, electronic device and readable storage medium | |
| KR20170017643A (en) | Contents transmission controlling method and electronic device supporting the same | |
| WO2018124775A1 (en) | Method for connecting external device and electronic device supporting same | |
| CN110855534B (en) | Method and apparatus for searching and controlling controllee in smart home system | |
| CN114301940B (en) | Internet of things equipment control method, device and system | |
| KR102887780B1 (en) | Server apparatus and controlling method thereof | |
| RU2765980C1 (en) | Method and system for collecting user device identifiers in form of mac addresses | |
| GB2524646A (en) | Communication apparatus, information processing apparatus, and control method for the same | |
| KR101938734B1 (en) | Method and Apparatus for Sharing Functions of M2M Devices based on Gateway | |
| JP7516580B2 (en) | VIDEO ANALYSIS SYSTEM AND DATA DISTRIBUTION METHOD - Patent application | |
| EP4394635A1 (en) | Data management method and device | |
| WO2022094852A1 (en) | Device connection method and apparatus, and hardware device and computer-readable storage medium | |
| CN113099170B (en) | Method, apparatus and computer storage medium for information processing | |
| US20240232321A9 (en) | Accessory setup using a setup code | |
| CN113965476B (en) | Inspection method, device and equipment based on application | |
| WO2024251610A1 (en) | Authorizing a controller device which has registered interest to control a controllable device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21925946 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21925946 Country of ref document: EP Kind code of ref document: A1 |