จะเรียกใช้คำสั่งโดยใช้พร็อกซีเซิร์ฟเวอร์เฉพาะได้อย่างไร


12

แอปพลิเคชั่นบางตัวรองรับพร็อกซี (http พร็อกซีหรือพร็อกซีถุงเท้า) และบางแอพพลิเคชั่นไม่รองรับ

สำหรับเบราว์เซอร์ฉันสามารถระบุพร็อกซีเซิร์ฟเวอร์ในกล่องโต้ตอบการตั้งค่า / ตัวเลือกและแอพพลิเคชั่นอื่น ๆ อาจสามารถกำหนดค่าพร็อกซีเซิร์ฟเวอร์ในไฟล์ปรับแต่งได้

เพื่อวัตถุประสงค์ทั่วไปฉันสามารถเรียกใช้คำสั่งโดยใช้พร็อกซีที่ระบุได้หรือไม่? ชอบดังต่อไปนี้:

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

ฉันใช้ Ubuntu ไม่ฝักใฝ่ฝ่ายใด

PS

ใน win32 สามารถทำได้โดยการไฮแจ็คซ็อกเก็ต dll ฉันอาจไม่คุ้นเคยกับการเขียนโปรแกรม Linux แต่ฉันคิดว่ามันเป็นไปได้ใน Linux แม้

คำตอบ:


17

ลินุกซ์ส่วนใหญ่สั่งการเข้าถึงที่ดูอินเทอร์เน็ตในHTTP_PROXY, FTP_PROXYและSOCKS_SERVERตัวแปรสภาพแวดล้อมสำหรับข้อมูลพร็อกซี่ ดังนั้นหากต้องการทำตัวอย่างของคุณให้เรียกใช้:

export SOCKS_SERVER=1.2.3.4:8000
wget http://superuser.com/q/262956/66003

ไวยากรณ์สำหรับHTTP_PROXYและFTP_PROXYแตกต่างกันเล็กน้อย:

export HTTP_PROXY=http://1.2.3.4:3128/
export FTP_PROXY=ftp://1.2.3.4:25/

สภาพแวดล้อมเดสก์ท็อปเริ่มต้นของ GNOME ที่มาพร้อมกับการตั้งค่าพรอกซีของ Ubuntu มีปุ่มใช้ระบบกว้างซึ่งจะตั้งค่าตัวแปรสภาพแวดล้อมเหล่านั้นให้คุณโดยอัตโนมัติ มิฉะนั้นคุณสามารถเพิ่มexportบรรทัดลงใน~/.bashrcไฟล์ของคุณเพื่อให้มีผลในทุกการเข้าสู่ระบบ

น่าเสียดายที่wgetไม่รองรับ SOCKS เลย คุณสามารถใช้curlซึ่งรวมอยู่ใน Ubuntu เพื่อให้บรรลุสิ่งต่าง ๆ ที่wgetทำ แต่น่าเสียดายที่มันไม่ได้ตรวจสอบSOCKS_SERVERในขณะที่มันจะตรวจสอบHTTP_PROXY(เช่นเดียวกับwget) หากต้องการใช้ curl เพื่อดาวน์โหลดหน้านี้ด้วยเซิร์ฟเวอร์ SOCKS5 (ดำเนินการแก้ไขปัญหา DNS กับเซิร์ฟเวอร์นั้น) และบันทึกเป็นsuperuser.htmlเรียกใช้สิ่งนี้:

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'

คุณจะต้องรีสตาร์ทเครื่องของคุณหรือเรียกใช้บรรทัดนั้นราวกับว่ามันเป็นคำสั่งเพื่อให้การเปลี่ยนแปลงมีผล


ฉันลองwgetด้วยSOCKS_SERVERแต่ดูเหมือนจะไม่ทำงาน wgetอ่านการตั้งค่าพร็อกซีจาก/etc/wgetrcเท่านั้น ฉันพยายามlinksมากเกินไปก็โอเคที่จะระบุแต่ก็ล้มเหลวในการใช้links -socks-proxy 127.0.0.1:7878 <url> export SOCKS_SERVER=...; links <url>
XièJìléi

@谢继雷: แต่น่าเสียดายที่บางโปรแกรมไม่ได้อ่านSOCKS_SERVERแต่คนนิยมมากมายเช่นsshทำ นอกจากนี้wgetดูเหมือนจะไม่รองรับ SOCKS เลย curlอย่างไรก็ตามคุณสามารถใช้ ฉันจะเพิ่มข้อมูลลงในคำตอบของฉันเกี่ยวกับเรื่องนั้น
แพทช์

ยังyoutube-dlไม่ได้อ่านSOCKS_SERVERมันอ่านhttp_proxyแทน และมันไม่รองรับพร็อกซีถุงเท้า อืมมม ... รายการของโปรแกรมและพร็อกซีที่สนับสนุนสภาพแวดล้อมจะมีประโยชน์มาก
XièJìléi

หากคุณค้นหาBXR.SUมันดูไม่เหมือนอะไรที่สนับสนุน SOCKS_SERVER ที่ทุกคนไม่แน่นอนOpenSSH แน่นอนที่สุดเป็นเพียงตัวเลือกที่ได้รับการสนับสนุนจากsocksifyยูทิลิตี้จากแพ็คเกจความปลอดภัย / dante
cnst

wget(1)สามารถรองรับพร็อกซี SOCKS ได้ตั้งแต่รุ่น 1.4.0 (ประมาณปี 1999) หากบิลด์--with-socksที่ไม่ได้เป็นแบบแพคเกจ
bufh

10

ลอง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 ก็เปลี่ยนไป


3
เนื่องจากproxychainsดั้งเดิมไม่ได้ถูกทำให้ไร้สีคุณสามารถใช้proxychains-ngแทนได้
Denilson Sá Maia

1

wget ไม่สนับสนุนถุงเท้าม้วนทำงานเหมือนแพทช์พูดว่า:

curl --socks5-hostname 1.2.3.4:8000 /superuser//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 /superuser//q/262956/66003

1
torsocks ดูเหมือนจะเป็นรุ่นปรับปรุงของ tsocks: superuser.com/a/1000811/128124
Ciro Santilli 冠状病毒病毒审查六四事件法轮功
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.