According to the specification of Bittorrent tracker (https://wiki.theory.org/BitTorrentSpecification) peer is identified by their peer_id and ip. peer_id is passed to tracker in announce request, ip - from request headers, but optionally can be passed as a query parameter. How tracker knows that this request was actually sent from this peer (not a fraud) without any key?
How identification of a peer is done in Bittorrent tracker
465 Views Asked by Oleksii Leonov At
1
There are 1 best solutions below
Related Questions in BITTORRENT
- Error trying to generate Makefile for glBinding
- Why does CMake FILE(READ) ignore semicolons in my file?
- add_custom_command is not generating a target
- CMake: Enable '/arch:AVX2' in Visual Studio 2013 projects
- How can I dynamically link stdlibc++.o.6 to my executable from a specified directory using cmake?
- CMake `link_directories` for libstdc++.so
- How can I force CMake to look for a library in a specific directory?
- What is the difference between "${CMAKE_CURRENT_SOURCE_DIR}" and "." in INCLUDE_DIRECTORIES?
- add line in cmake to edit Makefile definition
- Cmake apparently ignoring CMAKE_BUILD_TYPE?
Related Questions in TRACKER
- Error trying to generate Makefile for glBinding
- Why does CMake FILE(READ) ignore semicolons in my file?
- add_custom_command is not generating a target
- CMake: Enable '/arch:AVX2' in Visual Studio 2013 projects
- How can I dynamically link stdlibc++.o.6 to my executable from a specified directory using cmake?
- CMake `link_directories` for libstdc++.so
- How can I force CMake to look for a library in a specific directory?
- What is the difference between "${CMAKE_CURRENT_SOURCE_DIR}" and "." in INCLUDE_DIRECTORIES?
- add line in cmake to edit Makefile definition
- Cmake apparently ignoring CMAKE_BUILD_TYPE?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Note that the official specification lists that parameter as optional, meaning that it is not part of the identity of the client. Rather it should be considered as a hint to the tracker that the tracker should hand out that IP to other clients instead of the source of the announce connection. This hint should be ignored if the tracker doesn't trust the client.
Trust can be established if a client authenticates itself to the tracker (e.g. via HTTP basic auth or a secret token in the announce URL).
Instead of trusting the client the tracker could also verify it, e.g. by opening a bittorrent connect to the IP and port that was announced and then send a bittorrent handshake for the infohash that was announced to check if the remote can accept bittorrent connections. That also has the advantage of rejecting announces that aren't reachable due to firewalls or NAT limitations.
For open, public trackers neither approach is practical, so they usually ignore the
&ip=...
parameter. Trackers deployed in more restricted environments do make use of the trust and/or verify approaches.