0x01 描述
平時(shí)開掃描器或者使用sqlmap,有的站點(diǎn)使用的waf或者防火墻規(guī)則會(huì)將請(qǐng)求流量過多的IP ban掉,而手動(dòng)切換代理又比較慢,因而寫了這個(gè)使用隨機(jī)代理的小工具。http代理還是比較簡(jiǎn)單的,https代理總是出現(xiàn)一些問題,還需要研究研究…
這次采用golang而不是Python進(jìn)行開發(fā),實(shí)在是喜歡上它的跨平臺(tái)了,編譯后也不用像python那樣安裝許多模塊
項(xiàng)目地址:https://github.com/Chroblert/JCRandomProxy
簡(jiǎn)簡(jiǎn)單單的一個(gè)圖示:
- 該工具默認(rèn)在運(yùn)行該工具的服務(wù)器上的所有IP上的8081端口上開啟HTTP代理(JCRP)
- 當(dāng)有數(shù)據(jù)包通過8081上的代理時(shí),該工具從代理池或者proxy.lst文件中隨機(jī)獲取一個(gè)代理(proxy)
- 之后向檢驗(yàn)該代理是否有效:若有效,則將通過JCRP的數(shù)據(jù)包轉(zhuǎn)發(fā)給proxy若無效,則直接通過JCRP這個(gè)代理進(jìn)行上網(wǎng)
- 校驗(yàn)代理的方法:通過獲得的代理(proxy)訪問一個(gè)驗(yàn)證IP的網(wǎng)站驗(yàn)證返回的響應(yīng)中返回的IP是否與代理的IP一致若一致,有效;反之,無效
0x0101 功能
- 代理http流量
- 隨機(jī)切換代理
- 校驗(yàn)代理
0x0102 TODO
-[ ] 代理https流量
? -[ ] 定時(shí)校驗(yàn)代理
0x02 使用
首先要搭建proxypool或者自己擁有收集或購(gòu)買來的代理
proxypool代理池地址如下:https://github.com/jhao104/proxy_pool
0x0201 安裝方式
(一)源碼安裝
- 下載項(xiàng)目git clonet https://github.com/chroblert/JCRandomProxy.git
- 進(jìn)入到JCRandomProxy目錄下,編譯go build main.go
- 修改配置文件后,執(zhí)行上一步生成的二進(jìn)制文件
(二)使用二進(jìn)制文件
- 下載項(xiàng)目git clone https://github.com/chroblert/JCRandomProxy.git
- 下載對(duì)應(yīng)系統(tǒng)的二進(jìn)制文件到JCRandomProxy,修改配置文件后執(zhí)行./JCRandomProxy-linux-amd64
or./JCRandomProxy-windows-4.0-amd64.exe
0x0202 配置文件
[main]
# 是否使用ProxyPoolUseProxypool = true
# 是否使用自己獲取到的代理,與CustomProxyFile配合使用【暫未使用】UseCustomProxy = false
# 是否使用代理UseProxy = true
# http代理對(duì)外開放的端口
Port = 8081
[proxypool]
# ProxyPool的IP,需要帶上http://
PPIP = http://10.103.91.179
# ProxyPool的端口
PPPort = 5010
[customproxy]
# 放置可用代理的文件
CustomProxyFile = Conf/proxy.lst
0x03 目錄說明
Conf:
- config.go # 配置相關(guān)
- config.ini # 配置文件
- proxy.lst # 確定可用的代理
Proxy:
- GetAProxy.go # 獲取代理
- GetAProxyA.go # 從proxypool中獲取代理
- GetAProxyB.go # 從proxy.lst中獲取代理
本文作者:jerrybird, 轉(zhuǎn)載請(qǐng)注明來自FreeBuf.COM