Использование браузера: как получить IP-адрес при использовании прокси SOCKS - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь использовать TOR Browser в своем коде следующим образом:

Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("127.0.0.1", 9150));
//add proxy to some other Java class to use
System.out.println(proxy.address()); //127.0.0.1:9150

Он напечатает адрес locahost вместо IP-адреса, на который TOR Browser направляет трафик c. Есть ли способ получить позже?

1 Ответ

0 голосов
/ 17 января 2020

Это сложно. Tor может направлять трафик c для разных каналов через разные пути. Поэтому, если вы откроете Tor Browser и go для одного домена на вкладке и другого домена на другой вкладке, вы почти наверняка будете иметь разные publi c IP для каждой вкладки (это называется изоляцией потока).

Вы можете связать соединение SOCKS с потоком, а затем определить общедоступный c IP, прослушивая события от контроллера Tor, но код для этого не так прост.

Вот еще один ответьте, где я обрисую процесс: Как узнать IP-адрес маршрута Tor?

В нижней части этого ответа также есть примеры для Torbutton, которые показывают схему текущей вкладки. путь (включая IP-адреса сторожевого, среднего и выходного узла).

Самый простой (но не обязательно лучший) способ определить IP-адрес - сделать запрос к сайту, который возвращает ваш пабли c IP.

По умолчанию ваши запросы через SOCKS-прокси Tor не изолированы от потока, поэтому все они будут иметь общий IP-адрес и могут быть изменены. s, если что-то выдает сигнал NEWNYM, или если цепь выходит из строя и строит заново, используя другой путь.

...