精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

終端程序不支持SOCKS5/HTTP代理怎么辦?有了這個神器后,終于可以跨越高山和大海了!

運維 系統運維
今天就給大家介紹一款神器 graftcp,graftcp 可以把任何指定的終端程序的 TCP 連接重定向到 SOCKS5 或 HTTP 代理,并且不會影響其它的終端程序。是不是很好的解決了你的痛點呢?

 [[285492]]

你是否經常有在終端下通過一些實用程序進行工作的需求呢,比如:Git 等。但是由于這些終端程序默認并不支持 Socks 5 代理或 HTTP 代理,在訪問一些需要科學上網的網絡服務時速度或許會非常的慢。

通常我們的解決方法就是使用環境變量 export ALL_PROXY=socks5://proxyAddress:port 或者 export http_proxy=http://proxyAddress:port 給所有終端程序配置一個全局代理,這樣做雖然有效但并不是最佳解決方案。

今天就給大家介紹一款神器 graftcp,graftcp 可以把任何指定的終端程序的 TCP 連接重定向到 SOCKS5 或 HTTP 代理,并且不會影響其它的終端程序。是不是很好的解決了你的痛點呢?

簡介

graftcp 可以把任何指定程序(應用程序、腳本、shell 等)的 TCP 連接重定向到 SOCKS5 或 HTTP 代理。

對比 tsocks、proxychains 或 proxychains-ng,graftcp 并不使用 LD_PRELOAD 技巧來劫持共享庫的 connect()、getaddrinfo() 等系列函數達到重定向目的,這種方法只對使用動態鏈接編譯的程序有效。

對于靜態鏈接編譯出來的程序,例如默認選項編譯的 Go 程序,proxychains-ng 就無效了。graftcp 使用 ptrace(2) 系統調用跟蹤或修改任意指定程序的 connect 信息,對任何程序都有效。工作原理后面將會解釋。   

  1. 項目地址:https://github.com/hmgle/graftcp 

安裝

graftcp 在 Linux 系統內運行。graftcp-local 使用 Go 編寫, Go 環境是必需的。 

  1. $ git clone https://github.com/hmgle/graftcp.git  
  2. $ cd graftcp  
  3. $ make 

make 執行完后,即可運行 graftcp-local/graftcp-local 和 ./graftcp。你也可以把它們都安裝進系統: 

  1. $ sudo make install 

之后 graftcp-local 會隨著系統啟動而自動運行。

用法參數

graftcp-local: 

  1. $ graftcp-local/graftcp-local -h  
  2. Usage of graftcp-local/graftcp-local:  
  3.   -config string  
  4.         Path to the configuration file  
  5.   -http_proxy string  
  6.         http proxy address, e.g.: 127.0.0.1:8080  
  7.   -listen string  
  8.         Listen address (default ":2233")  
  9.   -logfile string  
  10.         Write logs to file  
  11.   -loglevel value  
  12.         Log level (0-6) (default 1)  
  13.   -pipepath string  
  14.         Pipe path for graftcp to send address info (default "/tmp/graftcplocal.fifo")  
  15.   -select_proxy_mode string  
  16.         Set the mode for select a proxy [auto | random | only_http_proxy | only_socks5] (default "auto")  
  17.   -service string  
  18.         Control the system service: ["start" "stop" "restart" "install" "uninstall"]  
  19.   -socks5 string  
  20.         SOCKS5 address (default "127.0.0.1:1080")  
  21.   -syslog  
  22.         Send logs to the local system logger (Eventlog on Windows, syslog on Unix) 

graftcp: 

  1. $ graftcp -h  
  2. Usage: graftcp [options] prog [prog-args]  
  3. Options:  
  4.   -a --local-addr=<graftcp-local-IP-addr>  
  5.                     graftcp-local's IP address. Default: localhost  
  6.   -p --local-port=<graftcp-local-port>  
  7.                     Which port is graftcp-local listening? Default: 2233  
  8.   -f --local-fifo=<fifo-path>  
  9.                     Path of fifo to communicate with graftcp-local.  
  10.                     Default: /tmp/graftcplocal.fifo  
  11.   -b --blackip-file=<black-ip-file-path>  
  12.                     The IP in black-ip-file will connect direct  
  13.   -w --whiteip-file=<white-ip-file-path>  
  14.                     Only redirect the connect that destination ip in the  
  15.                     white-ip-file to SOCKS5  
  16.   -n --not-ignore-local  
  17.                     Connecting to local is not changed by default, this  
  18.                     option will redirect it to SOCKS5  
  19.   -h --help  
  20.                     Display this help and exit 

使用示例

假設你正在運行默認地址 "localhost:1080" 的 SOCKS5 代理,首先啟動 graftcp-local: 

  1. $ graftcp-local/graftcp-local 

通過 graftcp 安裝來自 golang.org 的 Go 包: 

  1. $ ./graftcp go get -v golang.org/x/net/proxy 

通過 graftcp 打開 Chromium / Chrome / Firefox 瀏覽器,網頁的所有請求都會重定向到 SOCKS5 代理: 

  1. $ ./graftcp chromium-browser 

通過 graftcp 啟動 Bash / Zsh / Fish,在這個新開的 shell 里面執行的任何新命令產生的 TCP 連接都會重定向到 SOCKS5 代理:

 

  1. % ./graftcp bash  
  2. $ wget https://www.google.com 

工作原理

要達到重定向一個 app 發起的的 TCP 連接到其他目標地址并且該 app 本身對此毫無感知的目的,大概需要這些條件:

  •  fork(2) 一個新進程,通過 execve(2) 啟動該 app,并使用 ptrace(2) 進行跟蹤,在 app 執行每一次 TCP 連接前,捕獲并攔截這次 connect(2) 系統調用,獲取目標地址的參數,并通過管道傳給 graftcp-local。
  •  修改這次 connect(2) 系統調用的目標地址參數為 graftcp-local 的地址,然后恢復執行被中斷的系統調用。返回成功后,這個程序以為自己連的是原始的地址,但其實連的是 graftcp-local 的地址。這個就叫“移花接木”。
  •  graftcp-local 根據連接信息和目標地址信息,與 SOCKS5 proxy 建立連接,把 app 的請求的數據重定向到 SOCKS5 proxy。

這里可能有個疑問:既然可以修改任何系統調用的參數,那么通過修改 app 的 write(2) / send(2) 的參數,直接往 buffer 里面附加原始目標地址信息給 graftcp-local 不是更簡單嗎?答案是這無法做到。如果直接往運行在子進程的被跟蹤程序的 buffer 添加信息,可能會造成緩沖區溢出,造成程序崩潰或者覆蓋了其他數據。

另外,execve(2) 會分離所有的共享內存,所以也不能通過共享內存的方式讓被跟蹤的 app 的 write buffer 攜帶更多的數據,因此這里采用管道方式給 graftcp-local 傳遞原始的目標地址信息。

簡單的流程如下: 

  1. +---------------+             +---------+         +--------+         +------+  
  2. |   graftcp     |  dest host  |         |         |        |         |      |  
  3. |   (tracer)    +---PIPE----->|         |         |        |         |      |  
  4. |      ^        |  info       |         |         |        |         |      |  
  5. |      | ptrace |             |         |         |        |         |      |  
  6. |      v        |             |         |         |        |         |      |  
  7. |  +---------+  |             |         |         |        |         |      |  
  8. |  |         |  |  connect    |         | connect |        | connect |      |  
  9. |  |         +--------------->| graftcp +-------->| SOCKS5 +-------->| dest |  
  10. |  |         |  |             | -local  |         |  or    |         | host |  
  11. |  |  app    |  |  req        |         |  req    | HTTP   |  req    |      |  
  12. |  |(tracee) +--------------->|         +-------->| proxy  +-------->|      |  
  13. |  |         |  |             |         |         |        |         |      |  
  14. |  |         |  |  resp       |         |  resp   |        |  resp   |      |  
  15. |  |         |<---------------+         |<--------+        |<--------+      |  
  16. |  +---------+  |             |         |         |        |         |      |  
  17. +---------------+             +---------+         +--------+         +------+ 

常見問題解答及技巧

有哪些重定向 TCP 連接的方式?

主要有:全局式、設置環境變量式和僅針對程序(或進程)式。

全局式:比如使用 iptables + RedSocks 可以把系統符合一定規則的流量轉換為 SOCKS5 流量。這種方式的優點是全局有效;缺點是所有滿足該規則的流量都被重定向了,影響范圍較大。

設置環境變量方式:一些程序啟動時會讀取 proxy 相關的環境變量來決定是否將自己的數據轉換為對應代理協議的流量,比如 curl 會讀取 http_proxy, ftp_proxy, all_proxy 環境變量并根據請求 scheme 來決定轉換為哪種代理流量。這種方法只有程序本身實現了轉換的功能才有效,局限性較大。

僅針對程序方式:這種方式可以僅針對特定的程序執行重定向,比如 tsocks 或 proxychains。如前面提到,它們之前都是使用 LD_PRELOAD 劫持動態庫方式實現,對 Go 之類默認靜態鏈接編譯的程序就無效了。graftcp 改進了這一點,能夠重定向任何程序的 TCP 連接。

如果應用程序連接的目標地址是本機,使用 graftcp 會把該連接重定向到 SOCKS5 代理嗎?

不會。默認會忽略目標地址為本地的連接,如果想重定向所有地址的話,可以使用 -n選項。如果想忽略更多的地址,可以把它們加入黑名單 IP 文件;如果想僅重定向某些 IP 地址,可以把這些地址加入白名單 IP 文件。使用 graftcp --help 獲取設置參數。

我的 DNS 請求受到污染,graftcp 會處理 DNS 請求嗎?

不會。graftcp 目前僅處理 TCP 連接。建議使用 dnscrypt-proxy 或 ChinaDNS 等方式解決 DNS 污染問題。

clone(2) 參數有個叫 CLONE_UNTRACED 的標志位,可以避免讓父進程跟蹤到自己,graftcp 是如何做到強制跟蹤的?

graftcp 在子進程調用 clone(2) 之前會把它攔截,清除這個 CLONE_UNTRACED 標志位,所以被跟蹤的子進程最終還是難逃被跟蹤的命運。另外,這個 CLONE_UNTRACED 標志位本意是給內核使用的,普通程序不應該去設置它。

Linux 提供了一種限制被 ptrace(2) 跟蹤的方法:設置 /proc/sys/kernel/yama/ptrace_scope 的值,若 ptrace(2) 失效,請檢查該值是否被修改過。

支持 macOS 嗎?

不。macOS 的 ptrace(2) 是個半殘品。不過理論上參考 DTrace那一套也能實現,見issue 12。或許有興趣的同學可以趟下這趟渾水。 

 

責任編輯:龐桂玉 來源: 運維之美
相關推薦

2023-11-01 07:14:55

2013-02-18 09:19:11

谷歌X PhoneNexus

2022-02-21 14:32:32

SpringBoot框架微服務

2022-12-19 11:31:57

緩存失效數據庫

2009-11-03 08:56:02

linux死機操作系統

2022-07-05 11:48:47

MySQL死鎖表鎖

2025-11-07 00:00:00

2017-06-12 11:14:52

程序員技術停滯

2022-10-14 08:18:07

Guavaweb應用

2022-07-05 14:19:30

Spring接口CGLIB

2011-11-18 10:52:00

2011-11-16 10:02:48

DNSDNS記錄DNS記錄消失

2013-01-22 10:54:51

HTML5App移動應用

2021-05-26 10:15:52

開發技能工具

2018-01-30 15:08:05

2023-12-25 08:22:02

2020-07-10 08:46:26

HTTPS證書劫持網絡協議

2021-01-05 10:48:38

RedisAOF日志RDB快照

2024-08-06 08:08:14

2009-02-27 14:12:00

socks5代理服務器服務器
點贊
收藏

51CTO技術棧公眾號

国产日产欧美a一级在线| 亚洲天堂av在线免费| 丰满少妇久久久| 欧美大片aaa| 精品亚洲成a人在线观看| 欧美成人中文字幕| 中文字幕一二三四区| 美女视频一区| 精品国产乱码久久久久久天美| 欧美在线一二三区| 国产人妻精品一区二区三| 亚洲黄色高清| 日韩中文字幕在线视频播放| 成年女人免费视频| 欧美在线一级| 欧美午夜宅男影院在线观看| 一区二区三区四区久久| 香蕉av一区二区三区| 精品在线免费视频| 91精品国产91久久久久久| 中文字幕无码日韩专区免费| 私拍精品福利视频在线一区| 3d动漫精品啪啪一区二区竹菊| 久久久久久久午夜| 在线午夜影院| 国产精品久久久久永久免费观看 | 一区二区三区四区视频精品免费| 欧美另类一区| 人妻妺妺窝人体色www聚色窝| 久久国产夜色精品鲁鲁99| 欧美一区二区三区精品电影| 久久网一区二区| 亚洲影视一区二区三区| 一区二区三区四区精品| 精品人妻互换一区二区三区| 国产乱人伦精品一区| 91精品国产色综合久久ai换脸| 黄色一级免费大片| 亚洲永久av| 激情亚洲一区二区三区四区 | 香蕉久久久久久久| 久久99国产精品视频| 亚洲国产日韩欧美在线99| 男人添女人荫蒂国产| 4438五月综合| 国产一区二区三区的电影| 日韩亚洲国产中文字幕| 男人的天堂官网| 精品国产一区二区三区四区| 国产丝袜一区二区三区| 国产精品无码在线| 国产一区二区三区不卡av| 欧美va亚洲va香蕉在线| 亚洲精品在线网址| 精品亚洲二区| 欧美成人精品福利| 亚洲美女精品视频| 高清日韩中文字幕| 亚洲国产精品人人爽夜夜爽| 天堂www中文在线资源| 北条麻妃在线一区二区免费播放| 日韩精品最新网址| 欧美激情 亚洲| 伊人久久亚洲| 亚洲国产精品99| 青青草成人免费视频| 久久91麻豆精品一区| 在线视频中文亚洲| 久久国产波多野结衣| 日韩免费一区| 欧美美女18p| 日本五十路女优| 亚洲综合国产激情另类一区| 国产99在线|中文| 中文字幕理论片| 精品一区二区久久| 成人黄色在线免费观看| 五月婷婷深深爱| 国产欧美精品一区aⅴ影院| 亚洲永久激情精品| 日本片在线观看| 五月综合激情婷婷六月色窝| 九色porny91| 99视频这里有精品| 亚洲丁香久久久| 国产在线综合视频| 欧美一区综合| 欧美最猛性xxxxx免费| 精品久久久久久久久久久久久久久久久久 | 高清国产一区二区三区| 精品免费国产| 在线视频三区| 亚洲韩国精品一区| 成人性视频欧美一区二区三区| 日本午夜免费一区二区| 亚洲精品在线观| 国产一二三四视频| 国内自拍视频一区二区三区| 国产99视频在线观看| 国产草草影院ccyycom| 97国产精品videossex| 亚洲欧美日韩精品在线| 乱人伦视频在线| 6080国产精品一区二区| 天堂久久久久久| 66国产精品| 日本久久91av| 亚洲精品人妻无码| 国产精品麻豆久久久| 水蜜桃色314在线观看| av成人在线播放| 日韩av一区在线| www.99re7| 日韩成人精品在线观看| 国产区二精品视| 毛片av在线| 日本道色综合久久| 欧美双性人妖o0| 欧美日韩国产高清| 国产美女直播视频一区| 天堂中文字幕在线| 亚洲一区精品在线| 亚洲网中文字幕| 日韩视频在线观看| 日韩69视频在线观看| 亚洲大尺度网站| 亚洲日本在线视频观看| 亚洲精品怡红院| 亚洲国产国产| 国产91精品久| 天天操天天插天天射| 亚洲综合一区二区| 午夜xxxxx| 欧美高清视频手机在在线| 国产成人高潮免费观看精品| 污视频在线免费| 亚洲国产wwwccc36天堂| 4438x全国最大成人| 欧美成人milf| 国产中文欧美精品| 婷婷视频在线| 这里只有精品99re| 亚洲熟女毛茸茸| 精品制服美女久久| 亚洲精品国产一区| 久久久久黄色| 日韩中文在线视频| 91亚洲精品国偷拍自产在线观看| 国产精品污www在线观看| 99re在线视频免费观看| 精品在线播放| 国产成人精品一区二区在线| 狠狠狠综合7777久夜色撩人| 色婷婷精品大在线视频| 丰满少妇一区二区| 日韩高清国产一区在线| 日韩在线电影一区| 国产精品99精品一区二区三区∴| 中文字幕亚洲欧美一区二区三区| 在线观看亚洲国产| 日韩一区在线播放| 少妇愉情理伦片bd| 国内精品福利| 麻豆av一区二区| 日日av拍夜夜添久久免费| 国产亚洲精品久久久优势| 国产精品欧美综合| 国产精品久久久久久久久快鸭| 亚洲制服中文字幕| 亚洲小说区图片区| 欧美日韩精品久久久免费观看| 欧美一级大片| xvideos亚洲| 亚洲男女视频在线观看| 精品国产91久久久| 手机免费看av| 精品一二三四区| www在线观看免费| 精品国产1区| 日韩男女性生活视频| 日本www在线| 精品久久五月天| 中文字幕高清在线免费播放| 国产精品大尺度| 中文字幕天堂av| 日韩电影在线免费看| 在线观看成人免费| 日韩av黄色在线| 成人国产精品免费视频| 爱草tv视频在线观看992| 国产一区二区日韩精品欧美精品| 国产裸体无遮挡| 福利视频第一区| 久久国产精品国语对白| 91麻豆视频网站| www.污污视频| 亚洲男女自偷自拍| 欧美三级午夜理伦三级老人| 日韩影视高清在线观看| 成人在线视频福利| 在线看片国产福利你懂的| 色青青草原桃花久久综合| 亚洲欧洲精品视频| 91精品久久久久久久99蜜桃| 圆产精品久久久久久久久久久| 亚洲国产精品二十页| 久久久久成人精品无码中文字幕| 蜜桃av一区二区在线观看 | 爽爽淫人综合网网站| 久久精品国产精品亚洲精品色| 国产精品视频3p| 成人免费视频网址| 免费观看一级欧美片| 欧美精品在线极品| 大乳在线免费观看| 亚洲精品成人久久久| 国产乱淫片视频| 在线国产电影不卡| 国产性xxxx高清| 亚洲一区二区三区精品在线| 亚洲综合久久av一区二区三区| 91丝袜美腿高跟国产极品老师| 丰满饥渴老女人hd| 精品一区二区三区香蕉蜜桃| www.日日操| 国产日韩欧美一区二区三区在线观看| 91大学生片黄在线观看| 国产精品久久占久久| 色狠狠久久av五月综合| 免费看成人吃奶视频在线| 国内一区在线| 黄色美女久久久| 99久久99| 成人h动漫免费观看网站| 91成人免费在线观看| www久久久| 91美女高潮出水| 日本久久久久| 成人福利网站在线观看11| 成人黄色毛片| 国产精品视频成人| 91tv亚洲精品香蕉国产一区| 国产91热爆ts人妖在线| 超级碰碰久久| 国产99视频精品免视看7| 高清不卡亚洲| 国产精品video| 黄瓜视频成人app免费| 日本高清不卡在线| 经典三级一区二区| 国产精品自拍视频| 欧美高清你懂的| 91久久久久久国产精品| 韩国一区二区三区视频| 99热在线国产| 黄色免费大全亚洲| 玛丽玛丽电影原版免费观看1977| 亚洲电影一级片| 亚洲精品一区二区毛豆| 99久久精品国产亚洲精品| 中文字幕制服丝袜在线| 亚洲欧洲日韩| 精品国偷自产一区二区三区| 日韩视频一区| wwwxxx黄色片| 韩国成人在线视频| 一卡二卡三卡四卡五卡| 成人黄色网址在线观看| 91精品人妻一区二区| 国产日韩欧美精品综合| 国产第一页浮力| 亚洲福利视频一区二区| 国产精品久久久久久久久久久久久久久久久 | 国产黄色91视频| 国产性生活毛片| 欧美激情在线免费观看| 91杏吧porn蝌蚪| 亚洲成人动漫精品| 国产女主播喷水视频在线观看 | 丝袜+亚洲+另类+欧美+变态| 亚洲丝袜在线视频| 免费日本一区二区三区视频| 欧美国产激情18| 桃色av一区二区| 成人福利网站在线观看| 日本中文字幕在线一区| 在线观看免费91| 99热这里只有成人精品国产| 无限资源日本好片| 成人一道本在线| avhd101老司机| 午夜精品久久久久久| 亚洲天堂免费av| 日韩av在线免费播放| 欧美人xxx| 日本一区二区三区在线播放| 香蕉久久一区| 女人一区二区三区| 综合色一区二区| 亚洲精品视频导航| av一区二区三区在线| 影音先锋男人看片资源| 亚洲成av人**亚洲成av**| 一区二区视频网| 日韩成人久久久| 在线视频中文字幕第一页| 国产精品美女www| 欧美国产不卡| 草草草视频在线观看| 蜜臀av亚洲一区中文字幕| 国产草草浮力影院| 亚洲精品综合在线| 在线观看国产小视频| 日韩av有码在线| 青草在线视频在线观看| 国产综合视频在线观看| 久久av中文| 噜噜噜久久亚洲精品国产品麻豆| 经典三级在线一区| 高清国产在线观看| 欧美视频国产精品| 欧美 日韩 国产 成人 在线 91| 日韩在线视频免费观看| 怡红院成人在线| 欧美国产一二三区| 亚洲国产日本| 丰满人妻一区二区三区免费视频棣| 日韩美女视频一区二区 | 性刺激综合网| 久久蜜桃精品| 成人网站免费观看| 亚洲aaa精品| 成人午夜视频一区二区播放| 欧美精品在线播放| 国产亚洲亚洲国产一二区| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 欧美亚洲一区二区三区| 黄色av网址在线观看| 亚洲一区二区三区精品在线| 亚洲av无码一区二区三区dv| 久久不射电影网| 精品视频在线观看网站| 粉嫩av一区二区三区天美传媒| 国产真实精品久久二三区| 国产男女猛烈无遮挡在线喷水| 欧美日韩高清影院| av影片免费在线观看| 国产精品户外野外| 日韩欧美中文| 日韩视频在线观看一区二区三区| 国产精品久久久久久久午夜片 | 精品一区二区三区在线播放| 我要看一级黄色录像| 欧美剧在线免费观看网站| 免费在线观看黄色网| 91香蕉电影院| 亚洲午夜久久久久久尤物| 91传媒理伦片在线观看| 亚洲成人一区二区| 亚洲人妻一区二区| 国产91色在线| 97精品一区二区| 青青草原播放器| 亚洲图片有声小说| 污污网站在线免费观看| 日韩av免费看网站| 日韩精品午夜| 妖精视频在线观看| 午夜久久久久久久久久一区二区| 人人九九精品| 国产一区深夜福利| 欧美日一区二区三区在线观看国产免| 人妻 丝袜美腿 中文字幕| 欧美日韩免费网站| 中文字幕在线观看日本| 91九色极品视频| 男女av一区三区二区色多| 国产调教在线观看| 欧美一级爆毛片| 午夜激情电影在线播放| 亚洲国产一区二区三区在线| 国产精品一卡二| 日韩精品一区二区亚洲av| 日韩最新中文字幕电影免费看| 91精品尤物| 91香蕉视频污版| 亚洲永久免费av| 国产日本在线观看| 7777奇米亚洲综合久久| 免费亚洲一区| 国产一区二区三区在线视频观看| 亚洲激情在线视频| 香蕉久久久久久| 久久9精品区-无套内射无码| 中文字幕在线不卡视频| 五月天激情婷婷| 成人做爰www免费看视频网站| 亚洲欧美卡通另类91av| 国产av无码专区亚洲av毛网站| 精品视频在线播放|