自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

內(nèi)網(wǎng)穿透好工具——ProxyChains

安全
ProxyChains是一款Linux系統(tǒng)下的代理工具,強(qiáng)制由任一程序發(fā)起的TCP連接請(qǐng)求必須通過(guò)諸如 SOCKS4, SOCKS5 或HTTP(S) 代理。

1.1 ProxyChains簡(jiǎn)介

ProxyChains是一款Linux系統(tǒng)下的代理工具,強(qiáng)制由任一程序發(fā)起的TCP連接請(qǐng)求必須通過(guò)諸如 SOCKS4, SOCKS5 或HTTP(S) 代理。支持的認(rèn)證方式包括:SOCKS4/5的用戶/密碼認(rèn)證,HTTP的基本認(rèn)證。允許TCP和DNS通過(guò)代理隧道,并且可配置多個(gè)代理。由于很多優(yōu)秀的程序位于GitHub社區(qū),使用國(guó)內(nèi)服務(wù)器部署GitHub上面的程序時(shí),經(jīng)常會(huì)在拉取安裝包時(shí)下載超時(shí)失敗,或是訪問國(guó)外網(wǎng)站非常慢,例如用git、wget等等,這個(gè)時(shí)候就可以通過(guò)proxychain工具來(lái)使用socks或http代理進(jìn)行網(wǎng)絡(luò)加速訪問。ProxyChains早期版本在https://proxychains.sourceforge.net/可以下載,后續(xù)基于該版本開發(fā)了一些新的代碼,例如https://github.com/haad/proxychains及https://github.com/rofl0r/proxychains-ng。

1、ProxyChains的工作原理

ProxyChains的工作原理是在用戶執(zhí)行的網(wǎng)絡(luò)請(qǐng)求前插入一個(gè)代理層。當(dāng)用戶在終端執(zhí)行一個(gè)程序時(shí),該程序的網(wǎng)絡(luò)請(qǐng)求會(huì)首先被ProxyChains捕獲。然后,ProxyChains會(huì)根據(jù)配置文件中指定的代理服務(wù)器信息,將這些請(qǐng)求轉(zhuǎn)發(fā)給代理服務(wù)器。代理服務(wù)器會(huì)對(duì)請(qǐng)求進(jìn)行處理,并將處理后的結(jié)果返回給ProxyChains,最終由ProxyChains將結(jié)果傳遞給原始程序。這樣,用戶就可以通過(guò)ProxyChains來(lái)控制終端應(yīng)用程序的網(wǎng)絡(luò)訪問行為。

其工作原理可以分為以下幾個(gè)關(guān)鍵部分:

(1) 動(dòng)態(tài)鏈接庫(kù)劫持 (LD_PRELOAD)

ProxyChains 使用動(dòng)態(tài)鏈接庫(kù)劫持技術(shù)(LD_PRELOAD)來(lái)攔截和重定向應(yīng)用程序的網(wǎng)絡(luò)請(qǐng)求。具體來(lái)說(shuō),它通過(guò)在應(yīng)用程序啟動(dòng)時(shí)加載一個(gè)特殊的動(dòng)態(tài)鏈接庫(kù)(通常是 libproxychains.so),這個(gè)庫(kù)會(huì)攔截標(biāo)準(zhǔn)的網(wǎng)絡(luò)函數(shù)調(diào)用(如 connect, send, recv 等),并將其重定向到代理服務(wù)器。

(2) 配置文件

ProxyChains 的配置文件(通常是 /etc/proxychains.conf)定義了代理服務(wù)器的列表和其他相關(guān)設(shè)置。配置文件中可以指定一個(gè)或多個(gè)代理服務(wù)器,以及它們的類型(如 SOCKS4, SOCKS5, HTTP 等)和認(rèn)證信息。

例如,一個(gè)典型的配置文件可能如下所示:

# /etc/proxychains.conf
[ProxyList]
socks5 127.0.0.1 1080
http 192.168.1.1 8080

(3)攔截和重定向

當(dāng)應(yīng)用程序發(fā)起網(wǎng)絡(luò)請(qǐng)求時(shí),ProxyChains 的動(dòng)態(tài)鏈接庫(kù)會(huì)攔截這些請(qǐng)求,并根據(jù)配置文件中的設(shè)置將請(qǐng)求發(fā)送到指定的代理服務(wù)器。具體步驟如下:

●攔截請(qǐng)求:當(dāng)應(yīng)用程序調(diào)用 connect 函數(shù)嘗試建立網(wǎng)絡(luò)連接時(shí),ProxyChains 的動(dòng)態(tài)鏈接庫(kù)會(huì)攔截這個(gè)調(diào)用。

●查找代理:動(dòng)態(tài)鏈接庫(kù)會(huì)讀取配置文件中的代理列表,確定應(yīng)該使用哪個(gè)代理服務(wù)器。

●建立代理連接:動(dòng)態(tài)鏈接庫(kù)會(huì)通過(guò)選定的代理服務(wù)器建立連接。如果是多個(gè)代理服務(wù)器,它會(huì)按照配置文件中的優(yōu)先級(jí)順序依次嘗試。

●轉(zhuǎn)發(fā)請(qǐng)求:一旦與代理服務(wù)器建立連接,動(dòng)態(tài)鏈接庫(kù)會(huì)將應(yīng)用程序的網(wǎng)絡(luò)請(qǐng)求通過(guò)代理服務(wù)器轉(zhuǎn)發(fā)到目標(biāo)服務(wù)器。

●接收響應(yīng):代理服務(wù)器將目標(biāo)服務(wù)器的響應(yīng)返回給動(dòng)態(tài)鏈接庫(kù),動(dòng)態(tài)鏈接庫(kù)再將響應(yīng)傳遞回應(yīng)用程序。

示例

假設(shè)有一個(gè)配置文件 /etc/proxychains.conf,內(nèi)容如下:

[ProxyList]
socks5 127.0.0.1 1080
http 192.168.1.1 8080
[ProxyDNSServers]
1.1.1.1
8.8.8.8
[IgnoreHosts]
127.0.0.1
localhost

當(dāng)您使用 proxychains 前綴運(yùn)行命令時(shí),例如:

proxychains wgethttp://example.com

ProxyChains 的工作流程如下:

●攔截 connect 調(diào)用:動(dòng)態(tài)鏈接庫(kù)攔截 wget 發(fā)起的 connect 調(diào)用。

●查找代理:讀取配置文件,確定使用第一個(gè)代理服務(wù)器 127.0.0.1:1080。

●建立代理連接:通過(guò) 127.0.0.1:1080 建立連接。

●轉(zhuǎn)發(fā)請(qǐng)求:將 wget 的請(qǐng)求通過(guò) 127.0.0.1:1080 轉(zhuǎn)發(fā)到 example.com。

●接收響應(yīng):從 example.com 接收到的響應(yīng)通過(guò) 127.0.0.1:1080 返回給動(dòng)態(tài)鏈接庫(kù),再傳遞給 wget。

2.ProxyChains的適用場(chǎng)景

需要通過(guò)代理上網(wǎng),或者需要突破諸如設(shè)置了端口限制的防火墻;或者要使用telnet,ssh,wget,vnc,apt,ftp,nmap等應(yīng)用;事實(shí)上,甚至可以通過(guò)ProxyChains設(shè)置反向代理來(lái)讓你能夠從外部訪問你的內(nèi)部局域網(wǎng)。突破防火墻限制訪問互聯(lián)網(wǎng)。

3.特點(diǎn)

(1)多協(xié)議及認(rèn)證方式支持

支持多種代理協(xié)議,包括SOCKS4、SOCKS5和HTTP(S)。支持的認(rèn)證方式包括:SOCKS4/5的用戶/密碼認(rèn)證,HTTP的基本認(rèn)證。

(2)透明代理

可以攔截并修改終端應(yīng)用程序的網(wǎng)絡(luò)請(qǐng)求,使得這些請(qǐng)求通過(guò)代理服務(wù)器進(jìn)行轉(zhuǎn)發(fā),而無(wú)需修改應(yīng)用程序本身的設(shè)置。

(3)防止DNS泄漏

通過(guò)代理服務(wù)器處理DNS請(qǐng)求,確保DNS查詢不會(huì)泄露用戶的實(shí)際IP地址,從而增強(qiáng)隱私保護(hù)。

(4)多代理支持

可以配置多個(gè)代理服務(wù)器,并指定優(yōu)先級(jí)順序,當(dāng)某個(gè)代理失效時(shí),自動(dòng)切換到下一個(gè)可用的代理。

(5)自定義忽略列表:

允許用戶指定某些域名或IP地址不通過(guò)代理服務(wù)器訪問,這對(duì)于訪問本地資源或內(nèi)部網(wǎng)絡(luò)服務(wù)非常有用。

1.2ProxyChains安裝及使用

1.Linux及手工安裝

(1)Debian/Ubuntu系統(tǒng)安裝

apt update apt install proxychains -y
apt install proxychains4 -y

(2)Centos系統(tǒng)安裝

yum install -y proxychains-ng

(3)手動(dòng)安裝

git clonehttps://github.com/rofl0r/proxychains-ng.git
yum install gcc
cd proxychains-ng
./configure --prefix=/usr --sysconfdir=/etc
make
make install
make install-config
cd .. && rm -rf proxychains-ng
which proxychains

2.ProxyChain配置使用

(1)提前準(zhǔn)備好一個(gè)可用的socks或http代理。

(2)安裝后默認(rèn)配置文件在 /etc/proxychains.conf 或 /etc/proxychains4.conf ,通過(guò)vi或nano編輯該文件,拉到最下面填入自己的代理信息,如果沒設(shè)置用戶密碼認(rèn)證則省略,添加后保存退出。

socks5 連接IP地址 連接端口 用戶名 密碼

3.測(cè)試及使用proxychains

proxychains4 curl google.com
proxychains4 bash

4.配置別名

(1)編輯profile文件,增加別名配置:

vi /etc/profile
alias pc=proxychains4

(2)查看profile

source /etc/profile

(3)測(cè)試使用

pc curl google.com

1.3 免費(fèi)代理IP驗(yàn)證

1.獲取socks5代理IP地址

(1)通過(guò)一些免費(fèi)提供socks5代理的網(wǎng)頁(yè)獲取

https://www.lumiproxy.com/zh-hans/free-proxy/

(2)通過(guò)資產(chǎn)測(cè)繪工具獲取

https://quake.360.net/中搜索service: "socks5"可以獲取提供socks5服務(wù)的IP地址,如圖1所示。

圖1 獲取socks5 IP地址

2.編寫check_proxies.sh腳本

#!/bin/bash
# 代理列表
proxies=(
"socks5://184.95.235.194:1080"
"socks5://23.19.244.109:1080"
"socks5://172.104.209.44:1080"
"socks5://45.43.11.72:1080"
"socks5://38.113.171.88:57775"
"socks5://100.1.53.24:5678"
"socks5://38.83.108.88:5678"
"socks5://8.39.228.25:39593"
)
# 測(cè)試URL(可選擇一個(gè)通常能正常響應(yīng)的URL)
test_url="http://example.com"
# 掃描每個(gè)代理
for proxy in "${proxies[@]}"; do
echo "正在測(cè)試代理: $proxy"
if curl -s --proxy "$proxy" --connect-timeout 5 "$test_url" > /dev/null; 
then
echo "代理可用: $proxy"
else
echo "代理不可用: $proxy"
fi
done

3.執(zhí)行測(cè)試獲取可用的socks5代理IP及端口

chmod+x check_proxies.sh
./check_proxies.sh

執(zhí)行效果如圖2所示,可以看到代理可用的地址為172.104.209.44

圖2 對(duì)socks5代理進(jìn)行校驗(yàn)

2.查看及編輯proxychains4

cat /etc/proxychains4.conf
sudo vi /etc/proxychains4.conf
socks5 172.104.209.44 1080

如圖3所示,加入socks5的代理地址及端口,如果socks5有用戶名及密碼驗(yàn)證,則需要添加用戶名及密碼信息。

圖3 編輯proxychains配置文件

3.檢驗(yàn)proxychains

對(duì)proxychains進(jìn)行訪問測(cè)試,例如執(zhí)行“proxychains curlhttp://ifconfig.me”,如圖4所示,顯示代理可以使用。

圖4 檢驗(yàn)proxychains

4.實(shí)際使用

(1)更新git

proxychains4 git 
clonehttps://github.com/your_username/your_repository.git

(2)內(nèi)網(wǎng)穿透使用

proxychains4 msfconsole //啟動(dòng)msfconsole

利用msf下的smb_login模塊進(jìn)行掃描,配置信息如下,執(zhí)行后結(jié)果如圖5所示。

use auxiliary/scanner/smb/smb_login
show options
set smbuser administrator
set smbpass 11111111
set rhosts 192.168.22.16

圖5 內(nèi)網(wǎng)穿透進(jìn)行smb口令掃描

(3)其他一些內(nèi)網(wǎng)滲透使用參考命令

查看共享文件:

proxychains smbclient -L //192.168.22.16 -U .\administrator%11111111
proxychains smbclient -L //192.168.22.16/d$ -U .\administrator%11111111

使用wmiexec模塊:

auxiliary/scanner/smb/impacket/wmiexec
責(zé)任編輯:龐桂玉 來(lái)源: 小兵搞安全
相關(guān)推薦

2020-09-03 08:03:52

內(nèi)網(wǎng)穿透

2021-11-02 10:40:51

內(nèi)網(wǎng)穿透代理工具Linux

2019-06-12 09:02:20

2023-11-29 10:16:45

內(nèi)網(wǎng)開源

2022-03-29 07:33:21

內(nèi)網(wǎng)穿透工具

2024-11-25 16:25:23

內(nèi)網(wǎng)穿透網(wǎng)絡(luò)協(xié)議

2019-02-28 08:44:19

內(nèi)網(wǎng)釘釘Web

2021-10-27 20:40:24

辦公

2020-10-13 14:03:50

搭建ngrok服務(wù)

2015-11-24 15:22:53

HTTP2 WEB 內(nèi)網(wǎng)穿透

2013-04-22 10:07:08

2022-02-17 13:46:15

SSH命令內(nèi)網(wǎng)

2019-04-22 14:44:16

內(nèi)網(wǎng)穿透反向代理分離

2020-10-15 08:52:36

Frp內(nèi)網(wǎng)Web

2022-09-19 13:11:56

命令SSH內(nèi)網(wǎng)穿透

2025-04-29 10:28:25

2020-12-30 10:38:41

Web安全內(nèi)網(wǎng)工具

2022-02-25 13:45:09

TailscaleHeadscaleLinux

2025-02-25 10:56:32

內(nèi)網(wǎng)穿透開源桌面應(yīng)用程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)