Как вызвать команду, используя определенный прокси-сервер?

некоторые приложения поддерживают прокси (http прокси или SOCKS прокси), а некоторые нет.

для браузеров, я могу указать прокси-сервер в диалоговом окне Настройки/Параметры, и другие приложения могут быть в состоянии настроить прокси-серверов в конфигурационных файлах.

для общего назначения, могу ли я вызвать команду, используя определенный прокси? Нравится следующее:

$ proxy-exec --type sock5 --server 1.2.3.4:8000 -- wget/ftp ...

Я использую Ubuntu Maverick.

П. С.

в win32 это может быть реализовано путем угона сокета DLL, может быть, я не знаком с программированием Linux, но я думаю, что это возможно в Linux. хотя.

20
задан Xiè Jìléi
29.11.2022 3:03 Количество просмотров материала 2689
Распечатать страницу

3 ответа

большинство команд Linux, которые обращаются к интернету, выглядят в HTTP_PROXY,FTP_PROXY и SOCKS_SERVER переменные среды для прокси-сервера. Поэтому, чтобы сделать что-то вроде вашего примера, просто запустите:

export SOCKS_SERVER=1.2.3.4:8000
wget /q/how-to-invoke-a-command-using-specific-proxy-server-11591/"http://curl.haxx.se/" rel="noreferrer">curl, which is included with Ubuntu, to achieve many things that wget does.  Unfortunately, it doesn't check SOCKS_SERVER, while it does check HTTP_PROXY (as does wget).  To use curl to download this page with a SOCKS5 server (performing DNS resolution with that server) and save it as superuser.html, run this:

curl --socks5-hostname 1.2.3.4:8000 http://superuser.com/q/262956/66003 > superuser.html

если вы хотите сделать curl всегда используйте этот прокси SOCKS, вы можете создать псевдоним оболочки. Просто добавьте следующую строку в ~/.bashrc:

alias curl='curl --socks5-hostname 1.2.3.4:8000'

вам нужно будет перезагрузить терминал или запустить эту строку, как если бы это была команда для изменений эффект.

16
отвечен Patches 2022-11-30 10:51

Try proxychains.

его можно установить с apt-get. Затем вам нужно будет создать файл конфигурации в любом из

1) ./proxychains.conf
2) $(HOME)/.proxychains/proxychains.conf
3) /etc/proxychains.conf **

и вы сможете вызывать другие команды, такие как proxychains wget google.com - соединения будут проходить через прокси. Вы можете указать несколько прокси использовать сразу или в случайном порядке.

например:

➜  ssh -ND 4000 sockshost &
[1] 3446
➜  wget whoer.net -q -O- | grep remote_addr
89.71.*.*
➜  cat proxychains.conf 
[ProxyList]
socks5 127.0.0.1 4000
➜  proxychains wget whoer.net -q -O- | grep remote_addr
|D-chain|-<>-127.0.0.1:4000-<><>-95.211.121.18:80-<><>-OK
78.98.*.*

Я раздел некоторые HTML-теги и IP-адреса, но, как вы можете видеть, прокси был использован и IP-адрес сделал изменение.

9
отвечен Fluffy 2022-11-30 13:08

wget не поддерживает носки, curl работает как патчи сказал:

curl --socks5-hostname 1.2.3.4:8000 https://superuser.com/q/262956/66003

Если вам нужно wget вы можете установить tsocks.

установить sudo aptitude install tsocks и настройка:

$ sudo vim /etc/tsocks.conf
server = 1.2.3.4
server_type = 5
server_port = 8000

использование:

tsocks wget https://superuser.com/q/262956/66003
1
отвечен PiTheNumber 2022-11-30 15:25

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх