Как я могу проверить, является ли IP выходным узлом Tor?

Кто-то атакует мой сайт, и может показаться, что некоторые из IP-адресов являются выходными узлами Tor.

Можно ли где-нибудь ввести IP-адрес и окончательно проверить, зарегистрирован ли он как выходной узел Tor?

4
задан 6 February 2018 в 16:54
5 ответов

टॉर प्रोजेक्टचे हे येथे करण्याचे एक साधन आहे:

https://exonerator.torproject.org/

स्वयंचलित लुकअपसाठी ते डीएनएसबीएल-आधारित लुकअप देखील प्रदान करतात; त्यासंबंधी माहिती येथे उपलब्ध आहे:

https://www.torproject.org/projects/tordnsel.html.en

7
ответ дан 3 December 2019 в 02:49

Я действительно реализовал решение, предложенное @duskwuff.
Проверьте это на - https://github.com/assafmo/IsTorExit

CLI:

npm install -g istorexit
istorexit [ip...]

NodeJs:

const IsTorExit = require("istorexit");
IsTorExit("104.200.20.46").then(console.log); // true
IsTorExit("1.1.1.1").then(console.log); // false
1
ответ дан 3 December 2019 в 02:49

https://www.ipqualityscore.com/tor-ip-address-check/lookup

По этой ссылке вы можете проверить, является ли IP выходным узлом Tor.

1
ответ дан 18 December 2020 в 20:41

Вот Perl-решение, основанное на https://github.com/ assafmo/IsTorExit

my @ips = ('1.1.1.1','1.2.1.1','1.3.1.1','1.4.1.1','1.5.1.1','104.200.20.46');
foreach (@ips)
{
    print("IP: $_\n");

    # Build the command by reversing the IP address (ie. 1.5.1.1 to 1.1.5.1)
    # Checking 1.5.1.1 via 1.1.5.1.dnsel.torproject.org
    # (https://2019.www.torproject.org/projects/tordnsel.html.en - How can I query the public TorDNSEL service?)
    # Lookup from a linux system using dig (+short to have a light answer)
    my $cmd = "dig +short ".join(".", reverse split(/\./, $_)).".dnsel.torproject.org";
    my $res = `$cmd`;
    $res =~ s/^\s^|\s+$//g;
    print(" Command: [$cmd] ; Result: [$res]\n");

    # A records inside net 127/8, except 127.0.0.1, are reserved for future use
    # and should be interpreted by clients as indicating an exit node
    # (https://2019.www.torproject.org/projects/tordnsel.html.en - What do the received answers mean?)
    my $is_tor = 0;
    $is_tor = 1 if ($res =~ /^127\.0\.0\./ && $res ne "127.0.0.1");
    print(" Is Tor? [$is_tor]\n");
}
0
ответ дан 1 September 2021 в 14:32

Загрузите список всех IP-адресов выходных узлов изhttps://check.torproject.org/torbulkexitlistи проверьте, есть ли этот IP-адрес в списке.

Кроме того, вы можете выполнить DNS-запрос для проверки одного IP-адреса. Сделайте запрос DNS A к [reverse ip address].dnsel.torproject.org.Если он возвращает 127.0.0.1, то IP-адрес является выходным IP-адресом Tor. Например, чтобы проверить адрес 12.34.56.78, вы можете запустить эту консольную команду :

nslookup 78.56.34.12.dnsel.torproject.org

. Если она возвращает Address: 127.0.0.2, то это IP-адрес Tor.

0
ответ дан 22 October 2021 в 04:14

Теги

Похожие вопросы