Olej писал(а): ↑14 дек 2023, 18:28
Торификация терминала (shell).
Olej писал(а): ↑14 дек 2023, 18:28
команды (которые умеют это делать)
Но далеко не все команды
умеют использовать SOCKS5 прокси (от TOR)
Это мои
неудачные попытки:
Код: Выделить всё
olej@R420:~$ . torsocks on
Tor mode activated. Every command will be torified for this shell.
Код: Выделить всё
olej@R420:~$ telnet 90.156.230.27 p22
1702565754 ERROR torsocks[49902]: Unable to resolve. Status reply: 4 (in socks5_recv_resolve_reply() at socks5.c:677)
telnet: could not resolve 90.156.230.27/p22: Servname not supported for ai_socktype
Код: Выделить всё
olej@R420:~$ nmap 90.156.230.27
Starting Nmap 7.80 ( https://nmap.org ) at 2023-12-14 16:56 EET
NSOCK ERROR [0.6290s] nsock_make_socket(): Socket trouble: Operation not permitted
nmap: nsock_core.c:1259: nsock_pool_add_event: Assertion `nse->iod->sd >= 0' failed.
Аварийный останов (образ памяти сброшен на диск)
Но
(мои
удачные попытки):
Код: Выделить всё
olej@R420:~$ wget -qO- https://check.torproject.org/ | grep -i congratulations
Congratulations. This browser is configured to use Tor.
Congratulations. This browser is configured to use Tor.
Прямого коннекта нет (провайдеры перекрыли
):
Код: Выделить всё
olej@R420:~$ ping 90.156.230.27 -c3
PING 90.156.230.27 (90.156.230.27) 56(84) bytes of data.
--- 90.156.230.27 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2037ms
Торифицированный доступ есть (без явного указания прокси):
Код: Выделить всё
olej@R420:~$ iperf3 -c 90.156.230.27 -p8080 -4
Connecting to host 90.156.230.27, port 8080
[ 5] local 127.0.0.1 port 51846 connected to 90.156.230.27 port 8080
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 7.50 MBytes 62.9 Mbits/sec 3 5.25 MBytes
[ 5] 1.00-2.00 sec 1.25 MBytes 10.5 Mbits/sec 1 1023 KBytes
[ 5] 2.00-3.00 sec 0.00 Bytes 0.00 bits/sec 0 1023 KBytes
[ 5] 3.00-4.00 sec 1.25 MBytes 10.5 Mbits/sec 1 1023 KBytes
[ 5] 4.00-5.00 sec 1.25 MBytes 10.5 Mbits/sec 0 639 KBytes
[ 5] 5.00-6.00 sec 0.00 Bytes 0.00 bits/sec 1 639 KBytes
[ 5] 6.00-7.00 sec 1.25 MBytes 10.5 Mbits/sec 2 639 KBytes
[ 5] 7.00-8.00 sec 0.00 Bytes 0.00 bits/sec 1 639 KBytes
[ 5] 8.00-9.00 sec 1.25 MBytes 10.5 Mbits/sec 0 639 KBytes
[ 5] 9.00-10.00 sec 0.00 Bytes 0.00 bits/sec 0 639 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 13.8 MBytes 11.5 Mbits/sec 9 sender
[ 5] 0.00-10.51 sec 6.29 MBytes 5.02 Mbits/sec receiver
iperf Done.
Еще пример удачной торификации - на том же далёком сайте/сервере, с которым не ходит прямой IPv4 трафик:
Код: Выделить всё
olej@277938:~$ ls -l www*
-rwx------ 1 olej olej 225 мая 13 2023 www.arch
-rwx------ 1 olej olej 198 мая 11 2023 www.arch.2
-rwx------ 1 olej olej 52 мая 11 2023 www.arch.rem
Запускаем передачу файла по запросу:
Код: Выделить всё
olej@277938:~$ cat www.arch | nc -q0 -l -p 8080
...
И ожидаем кто попросит
...
Теперь на локальном компьютере (за >4000км.) + в торсифицированном терминале запрашиваем передачу:
Код: Выделить всё
olej@R420:~$ nc -q0 90.156.230.27 8080 > file.nc
Файл получен, длина та же:
Код: Выделить всё
olej@R420:~$ ls -l file.nc
-rw-rw-r-- 1 olej olej 225 дек 14 22:29 file.nc
P.S. Важно! Вспоминаем, что в природе, и в стандартных репозиториях дистрибутивов Linux присутствуют одновременно 2 совершенно разных реализации NetCat с одинаковым именем программы nc:
Код: Выделить всё
olej@R420:~/2023/linux-ru.ru.hist/timeweb$ aptitude search netcat | grep ^i
i netcat-openbsd - инструмент для TCP/IP на все случаи жизни
i netcat-traditional - инструмент для TCP/IP4 на все случаи жизни
И они
отличаются синтаксисом, опциями, и сетевым протоколом
Они могут быть установлены одновременно, а то который сейчас тспользуется как nc определяется системой альтернатив (см.
nc - сетевой cat +
alternatives):
Код: Выделить всё
olej@R420:~/2023/linux-ru.ru.hist/timeweb$ update-alternatives --list nc
/bin/nc.openbsd
/bin/nc.traditional
olej@R420:~/2023/linux-ru.ru.hist/timeweb$ update-alternatives --display nc
nc - ручной режим
лучшая версия ссылки — /bin/nc.openbsd
ссылка сейчас указывает на /bin/nc.traditional
ссылка nc — /bin/nc
подчинённая nc.1.gz — /usr/share/man/man1/nc.1.gz
подчинённая netcat — /bin/netcat
подчинённая netcat.1.gz — /usr/share/man/man1/netcat.1.gz
/bin/nc.openbsd — приоритет 50
подчинённый nc.1.gz: /usr/share/man/man1/nc_openbsd.1.gz
подчинённый netcat: /bin/nc.openbsd
подчинённый netcat.1.gz: /usr/share/man/man1/nc_openbsd.1.gz
/bin/nc.traditional — приоритет 10
подчинённый nc.1.gz: /usr/share/man/man1/nc.traditional.1.gz
подчинённый netcat: /bin/nc.traditional
подчинённый netcat.1.gz: /usr/share/man/man1/nc.traditional.1.gz
Смысл этого примечания в том, что и на сервере (передающем файл) и на клиенте (его получающем)
должна использоваться одна и та же реализация nc
Здесь был использован nc.traditional
Ещё, того же назначения, но ещё более мощная утилита socat (см.
socat) - на том же сервере выполняем команду ожидания запроса на передачу:
Код: Выделить всё
olej@277938:~$ socat -u file:www.arch tcp4-listen:8080,reuseaddr
После чего на клиенте, в торсифицированном терминале, запрашиваем передачу файла:
Код: Выделить всё
olej@R420:~$ socat -u tcp4:90.156.230.27:8080 STDOUT > file.socat
Результат (2-х последовательных экспериментов):
Код: Выделить всё
olej@R420:~$ ls -l file.*
-rw-rw-r-- 1 olej olej 225 дек 14 22:29 file.nc
-rw-rw-r-- 1 olej olej 225 дек 14 23:04 file.socat