2019独角兽企业重金招聘Python工程师标准>>>

概要

  • linux 中使用 LD_PRELOAD
  • mac osx 中使用 DYLD_INSERT_LIBRARIESDYLD_FORCE_FLAT_NAMESPACE=1 环境下

对网络相关的 API(sys/socket.h, 见 src/libproxychains.c) 进行 hook 实现代理的功能

细节

src/libprocychains.c

// hook socket 相关的函数
static void setup_hooks(void) {SETUP_SYM(connect);SETUP_SYM(sendto);SETUP_SYM(gethostbyname);SETUP_SYM(getaddrinfo);SETUP_SYM(freeaddrinfo);SETUP_SYM(gethostbyaddr);SETUP_SYM(getnameinfo);SETUP_SYM(close);
}

src/main.c

// 主要逻辑如下,加载动态链接库,然后执行后面的程序,由于是同一个进程仅仅更换执行的代码所以动态链接的网络库使用的是修改过的不会变
// proxychains4 curl http://ipecho.net/plain; echo
int main(int argc, char *argv[]) {int start_argv = 1;putenv("LD_PRELOAD=/usr/local/lib/libproxychains4.dylib");execvp(argv[start_argv], &argv[start_argv]);
}

待续

references

  • https://github.com/rofl0r/proxychains-ng
  • http://www.catonmat.net/blog/simple-ld-preload-tutorial/
  • http://www.catonmat.net/blog/simple-ld-preload-tutorial-part-2/

转载于:https://my.oschina.net/xieyunzi/blog/669349

proxychains-ng 工作原理分析相关推荐

  1. RxJs map operator 工作原理分析

    使用一个例子来研究 map 操作符的工作原理. 推荐阅读本文之前,先浏览这篇文章RxJs fromEvent 工作原理分析以了解相关知识. 源代码: import { Component, OnIni ...

  2. Hadoop生态圈-Zookeeper的工作原理分析

    Hadoop生态圈-Zookeeper的工作原理分析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   无论是是Kafka集群,还是producer和consumer都依赖于Zoo ...

  3. 原理剖析(第 009 篇)ReentrantReadWriteLock工作原理分析

    2019独角兽企业重金招聘Python工程师标准>>> 原理剖析(第 009 篇)ReentrantReadWriteLock工作原理分析 一.大致介绍 1.在前面章节了解了AQS和 ...

  4. 匿名突破网络限制 (Tor工作原理分析)

    转载自:http://blog.163.com/mike_gz/blog/static/247532200672932800/ 网管顾名思义,就是天天管着网络.想尽各种手段限制我们上网的人.在网络中订 ...

  5. 滑环的基本结构及工作原理分析

    滑环是工业机械部件,基本原理是利用导电机械部件的折动或滚动在接触旋转部件和静止部件之间传递电能或电信号的产业部部件,作为360度旋转方式的一个相当好的解决方法,那么,下面一起了解下滑环的基本结构及工作 ...

  6. 【高通SDM660平台 Android 10.0】(19) --- Camera_focus、Camera_snapshot、volume_up 按键工作原理分析

    [高通SDM660平台 Android 10.0]19 --- Camera_focus.Camera_snapshot.volume_up 按键工作原理分析 一. DTS代码配置 二. Kernel ...

  7. 二极管温度补偿电路工作原理分析

    众所周知,PN结导通后有一个约为0.6V(指硅材料PN结)的压降,同时PN结还有一个与温度相关的特性:PN结导通后的压降基本不变,但不是不变,PN结两端的压降随温度升高而略有下降,温度愈高其下降的量愈 ...

  8. 船型开关工作原理分析

    船型开关工作原理分析 由于疫情,这几个月一直无聊的待在家里,就把家里翻出来的旧电热锅简单的修理了一下,关于电热锅的修理博客之后有时间再写吧,这次就总结下在修过程中让我一直很头疼的船型开关的工作原理. ...

  9. 全自动升降柱工作原理分析

    全自动升降柱工作原理分析 全自动升降柱使用范围比较广泛,在城市交通安全中提供非常便捷的交通舒缓措施,可控制车辆行驶确保安全,全自动升降柱外观设计精美, 具有高的防撞击效果,当电动升降柱升起可在地面形成 ...

  10. 结合 category 工作原理分析 OC2.0 中的 runtime

    绝大多数 iOS 开发者在学习 runtime 时都阅读过 runtime.h 文件中的这段代码: struct objc_class {Class isa OBJC_ISA_AVAILABILITY ...

最新文章

  1. 德国版“非升即走”引发学界震荡!“临时工”干12年也难获教职,网友:全世界都在卷...
  2. 当代大学生的变态生活
  3. 关于 uniqueidentifier
  4. 高等数学:第二章 导数与微分(2)初等函数 高级导数 隐函数 参数函数
  5. 用ASP实现隐藏链接方法
  6. Web前端笔记-two.js画三角形及画tip含tip旋转
  7. 网盘运营太难了!百度网盘因“用户激励计划”起风波并致歉
  8. 控制输入框的:选择,复制,粘贴功能。
  9. etcdctl的使用
  10. java电器类代码_阅读下列说明和Java代码,将应填入(n)处的字句写在对应栏内。...
  11. F - 最短路 HDU - 2544(最短路的模板)
  12. devc运行窗口不显示_编写Qt多窗口程序
  13. Python项目实战:爬取糗事百科最热门的内涵搞笑段子
  14. uni-app开发的APP项目上线后,登录后自动检测更新,点击下载并安装,可手动检测版本更新,实现扫码下载功能
  15. 弓形锯床主传动及工作机构设计
  16. 二进制部署高可用k8s集群
  17. 无网情况下安装rpm依赖包
  18. 快应用的用法和常见问题解答(上)
  19. 单片机人体感应灯c语言,红外人体感应灯单片机方案
  20. iOS xxx is missing from working copy

热门文章

  1. 微信小程序自定义波浪组件
  2. 分享一位电商大佬的技术笔记
  3. 原来sync.Once还能这么用
  4. android java 时间格式化_(Java / Android)计算两个日期之间的日期,并以特定格式显示结果...
  5. 关于mysql的几个问题
  6. iRobot新款OS能让军用机器人上战场
  7. 内核线程和用户线程(SMP)
  8. SSH框架之Spring4专题3:Spring与AOP
  9. 桥接模式(Bridge)解析例子
  10. ES6 变量的6种方式