proxychains——Linux代理工具

简介

ProxyChains是一个UNIX程序,通过预加载动态库(dlsym(),LD_PRELOAD劫持动态链接程序中与网络相关的libc函数,将连接重定向至SOCKS4a/5或HTTP代理。仅支持TCP协议(不支持UDP/ICMP等)。它的工作方式基本上是一种黑客技术,因此有可能与你的程序不兼容。例如脚本程序和多进程后台程序。

安装程序

Kali中可以使用apt包管理器安装,编译按照话请查看文档

apt install proxychains4

基本配置

配置信息

所有的配置在/etc/proxychains.conf文件下,大概机翻了一下,具体的配置有代理的轮换形式、DNS解析、排除地址、超时时间、关闭终端的回显以及代理的配置。

# proxychains.conf VER 4.x
#
# 带 DNS 的 HTTP、SOCKS4a、SOCKS5 隧道代理。# 下面的选项确定了如何处理代理列表。
# 每次只能取消一个选项、
# 否则,最后出现的选项将被接受
##dynamic_chain
#
#动态 - 每个连接将通过链式代理完成
#所有代理在列表中出现的顺序链接
#至少一个代理必须在线播放链
#(跳过死去的代理)
#否则eintr返回到应用程序#strict_chain
#
# 严格 - 每个连接都将通过链式代理完成
# 所有代理服务器按照它们在列表中出现的顺序链入
# 所有代理都必须在线才能进行链式游戏
# 否则将返回应用程序 EINTR
##round_robin_chain
#
# 轮询链(Round Robin)- 每个连接将通过长度为 chain_len 的代理链完成。
# 所有代理按列表顺序链接,在链中至少需一个代理在线(失效代理将被跳过)。
# 当前代理链的起始位置,是上一次调用代理链中最后一个代理的下一个代理。
# 若在查找代理时到达代理链末端,则从头开始重新循环。
# 否则将向应用程序返回 EINTR 错误。
#
# 注意:在多线程环境中无法保证此语义的严格性。
##random_chain
#
# 随机链(Random)- 每个连接将通过列表中随机选择的代理(或代理链,参见 chain_len)完成。
# 此选项适用于测试您的 IDS(入侵检测系统):)# 仅在启用 random_chain 或 round_robin_chain 时生效
#chain_len = 2  # 定义代理链长度(示例值,需取消注释并配置)#安静模式(终端没有输出)
#quiet_mode# 方法1:远程DNS解析(默认)  
proxy_dns  # 速度快/支持 .onion,但复杂应用可能崩溃  # 方法2:传统脚本模式  
#proxy_dns_old  # 需 proxyresolv+dig,兼容性强但慢  # 方法3:守护进程模式  
#proxy_dns_daemon 127.0.0.1:1053  # 需提前启动守护进程  # 设置用于内部远程 DNS 映射的 A 类子网编号
# 我们默认使用保留的 224.x.x.x 范围、
# 如果代理应用发出 DNS 请求,我们将返回该范围内的一个 IP。
# 在进一步访问该 IP 时,我们会将保存的 DNS 名称发送给代理。
# 以防某些控制狂应用程序检查返回的 IP,并拒绝与之连接。
# 连接,您可以使用另一个子网,如 10.x.x.x 或 127.x.x.x。
# 当然,你应该确保被代理的应用程序不需要
# 真正访问该子网。
# 也就是说,不要在本地网部分使用相同的子网。
#remote_dns_subnet 127
#remote_dns_subnet 10
remote_dns_subnet 224#一些超时以毫秒为单位
tcp_read_time_out 15000
# 数据读取超时(默认15秒)
tcp_connect_time_out 8000
# 代理连接超时(默认8秒)### 直连排除示例(以下地址不经过代理)
## 注意:仅当应用直接使用IP、通过/etc/hosts解析域名,
## 或禁用proxy_dns/使用proxy_dns_old时生效## 排除 192.168.1.0/24 网段的80端口
# localnet 192.168.1.0:80/255.255.255.0## 排除整个 192.168.100.0/24 网段
# localnet 192.168.100.0/255.255.255.0## 排除全局80端口(所有IP)
# localnet 0.0.0.0:80/0.0.0.0
# localnet [::]:80/0  # IPv6格式## RFC6890 回环地址范围
## 启用时需确保 remote_dns_subnet 不为 127
## 若需代理访问 localhost 的应用必须启用
# localnet 127.0.0.0/255.0.0.0  # IPv4回环
# localnet ::1/128               # IPv6回环## RFC1918 私有地址范围
# localnet 10.0.0.0/255.0.0.0       # A类私有
# localnet 172.16.0.0/255.240.0.0    # B类私有
# localnet 192.168.0.0/255.255.0.0   # C类私有### DNAT 示例 ###
## 对目标地址进行DNAT转换后,实际通过代理连接新地址
## 当连接 1.1.1.1:1234 时,实际连接到 1.1.1.2:443
# dnat 1.1.1.1:1234  1.1.1.2:443## 当连接 1.1.1.1:443 时,实际连接到 1.1.1.2:443
## (无需重复写端口)
# dnat 1.1.1.1:443  1.1.1.2## 无论连接 1.1.1.1 的哪个端口,都重定向到 1.1.1.2:443
# dnat 1.1.1.1  1.1.1.2:443## 将所有访问 1.1.1.1 的连接重定向到 1.1.1.2
# dnat 1.1.1.1  1.1.1.2# 代理列表格式
# 类型 IP 端口 [用户密码]
# (用 "tab "或 "空白 "分隔的值)
#
# 只有数字 IPv4 地址有效
#
#
#        例子:
#
#               socks5  192.168.67.78   1080    lamer   secret
#               http    192.168.89.3    8080    justu   hidden
#               socks4  192.168.1.49    1080
#               http    192.168.39.93   8080
#
#
# 代理类型:http、socks4、socks5、raw
# * 原始:流量不经修改直接转发到代理。
# ( 支持的认证类型:"basic"-http "user/pass"-socks )
#
[ProxyList]
# 在此添加代理...
# 默认配置为 Tor 代理
# 示例:本地SOCKS5代理(端口需与实际代理服务匹配)
socks5  127.0.0.1 80  

配置代理

这里我本地启动socks5帐号密码为空只需要按照格式写入即可

[协议] [地址] [用户名] [密码]
socks5  127.0.0.1 10101

测试请求,这里用一个网站测试当前请求的地址,使用方法只需要在执行正常的命令的前面加上proxychains4或者proxychains即可

proxychains4 curl https://ifconfig.me

关闭请求回显

只需要修改配置文件将quiet_mode前面的注释删掉,启用即可。当然也可以执行前加上-q参数直接关闭日志

#关闭请求回显
quiet_mode

测试请求,使用方法还是一样。减少了每次请求的回显。

测试请求,关闭日志-q

指定配置文件

使用-f参数,在需要的时候指定不同的配置文件,例如切换代理地址,或者切换代理轮换等。默认情况下使用的配置文件为当前目录下的配置文件。

proxychains4 -f ~/no_show.conf curl https://ifconfig.me/

扩展使用

别名调用

正常使用的时候需要在需要代理的程序前面加上proxychains4,命令稍微有点长,这时候可以通过alias来为它设置别名。

当前用户生效

可以通过在当前用户的.profile文件里设置环境变量,来实现每次登录这个用户的时候自动执行命令。

全局生效

通过在/etc/profile.d创建命令执行的脚本实现当每个用户登录的时候都执行alias的命令。创建脚本后切换用户测试

echo "alias pc=proxychains4" > /etc/profile.d/pc.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/94579.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/94579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

精确调控建筑环境,楼宇自控系统大幅提升居住舒适度

在现代城市化进程中,建筑环境的舒适度已成为衡量生活质量的重要指标。随着科技的飞速发展,楼宇自控系统(Building Automation System, BAS)正以前所未有的精准度重新定义人与空间的互动关系。这套集成了物联网、大数据和人工智能的…

Echarts中的水波图、水球图、水半球实现的详细步骤(vue)

目录 一、实现效果 二、实现步骤 1. 安装ECharts和Liquid Fill插件 2. 创建一个组件 3.在创建的vue中引入ECharts和Liquid Fill插件 4.在组件中初始化ECharts和Liquid Fill插件 5.完整代码 一、实现效果 Echarts中的水位图(水波图、水球图、水半球)…

Vue父组件向子组件传递一个动态的值,子组件如何保持实时更新实时更新?

父组件 通过 :issueDeptId this.form109.issueDeptId传数据到子组件 <inv-info ehco-data"selectOutInvId" :purposeId this.form109.purposeId:issueDeptId this.form109.issueDeptId:projectNo this.form109.projectNo:invPhysicIds this.form109.issuePh…

如何通过主数据治理重构企业系统竞争力

在当前企业数字化转型持续深化的背景下&#xff0c;IT系统复杂度与数据规模呈指数级增长。CRM、ERP、HRM、供应链、电商平台等多系统并行运作已成为常态。然而&#xff0c;随之而来的主数据&#xff08;Master Data&#xff09;管理难题&#xff0c;正日益成为制约系统稳定性、…

c++ 中 原子锁、互斥锁、自旋锁的区别和详细用法

用最生活化的比喻来解释 C 中原子锁、互斥锁和自旋锁的区别和用法&#xff0c;让小白也能秒懂&#xff01;&#x1f604;想象你 ​​&#xff08;线程&#xff09;​​ 要去公共更衣室 ​​&#xff08;共享资源&#xff0c;如变量、数据结构&#xff09;​​ 换衣服。这个更衣…

RabbitMQ面试精讲 Day 12:镜像队列与Quorum队列对比

【RabbitMQ面试精讲 Day 12】镜像队列与Quorum队列对比 开篇&#xff1a;面试价值与核心要点 在RabbitMQ集群环境中&#xff0c;如何保证消息的高可用性是最常被问及的面试问题之一。今天我们将深入探讨RabbitMQ提供的两种高可用队列实现方案&#xff1a;经典镜像队列(Mirror…

Maven 常用命令详解

前言 Apache Maven 是 Java 项目管理和构建自动化工具&#xff0c;它通过一个项目对象模型&#xff08;POM, Project Object Model&#xff09;来管理项目的构建、报告和文档。Maven 的核心优势在于其强大的依赖管理、标准化的项目结构以及丰富的插件生态系统。掌握 Maven 的常…

Android Studio切换到经典UI,老UI

为什么要写这边文章&#xff0c;我自己的android studio年儿半载安装一次新的&#xff0c;所以记录一下。1、新android studio安装后都是新工作室风格的UI。2、菜单File ->Settings ,在Setting界面将Enable New UI 的勾选去掉&#xff0c;点击OK&#xff0c;重启Android Stu…

走进“Mesh无线自组网”:开启智能家居和智慧工厂

随着科技的迅猛发展&#xff0c;互联网已经渗透到我们生活的方方面面&#xff0c;而其中最引人瞩目的便是“智能家居”和“智慧工厂”。这些新兴领域的飞速发展&#xff0c;离不开底层网络技术的支持。众多的网络通信技术中&#xff0c;Mesh无线自组网以其独特的优势&#xff0…

力扣热题100——双指针

双指针两数之和&#xff08;有序数组&#xff0c;相向双指针&#xff09;问题&#xff1a;在有序数组中找到两个数&#xff0c;使它们的和等于目标值。思路&#xff1a;左指针从起点出发&#xff0c;右指针从终点出发&#xff0c;根据和与目标值的大小调整指针。 #include <…

AI Infra与LLM的联系与差异

一、定义与定位LLM&#xff08;大语言模型&#xff09; 定义&#xff1a;基于海量文本训练的深度学习模型&#xff0c;通过Transformer架构实现语言理解与生成&#xff0c;典型代表如GPT-4、通义千问等。定位&#xff1a;AI应用的核心能力层&#xff0c;直接面向用户提供文本生…

数据结构-双链表

学习完单链表&#xff0c;现在继续学习双链表一、双链表结构带头双向循环链表&#xff08;简称&#xff1a;双链表&#xff09;注意&#xff1a;这⾥的“带头”跟前面我们说的“头节点”是两个概念&#xff0c;实际前面的在单链表阶段称呼不严谨&#xff0c;但是为了同学们更好…

福彩双色球第2025090期篮球号码分析

明天是星期四&#xff0c;明天晚上双色球开奖。福彩双色球第2025090期篮球号码分析&#xff0c;上期开出号码05&#xff0c;数字形式是质数奇数2路球&#xff0c;小号0字头数字。本期篮球号码分析&#xff0c;篮球2尾数0212遗漏6期上次遗漏27期&#xff0c;篮球3尾数0313遗漏4期…

Python爬虫实战:研究Photon工具,构建企业信息收集系统

1. 引言 1.1 研究背景 在数字化时代,互联网作为全球最大的信息载体,涵盖商业情报、学术资源、公共信息等多个领域,对企业决策、学术研究和社会治理具有重要参考价值。传统信息获取方式依赖人工检索和简单脚本爬取,存在效率低下、覆盖范围有限、数据处理能力不足等问题。 …

Python Pandas.lreshape函数解析与实战教程

Python Pandas.lreshape 函数解析与实战教程 摘要 本教程旨在提供一份关于Pandas库中 pandas.lreshape 函数的全面使用教程和分析。lreshape 是一个用于数据重塑(Data Reshaping)的工具,具体而言,它擅长将“宽格式”(Wide Format)数据转换为“长格式”(Long Format)数…

vue3 el-dialog自定义实现拖拽、限制视口范围增加了拖拽位置持久化的功能

采用element-plus的拖拽功能代码,在此基础上增加了记忆拖拽上次拖拽位置的功能,开袋即食; 前提:每次关闭弹窗都要销毁; 解决了默认设置transform的偏移量后首次拖拽弹窗偏移量错误的问题修改。<template><el-dialogref="popupRefDialog":title="…

学习嵌入式之硬件——ARM体系

一、ARM内核基础知识1.ALU&#xff1a;算术逻辑单元&#xff1b;完成运算的电路2.通用寄存器&#xff1a;R0~R15R13&#xff08;SP&#xff09;&#xff1a;栈指针寄存器&#xff1a;指向栈顶的位置&#xff1b;并在函数调用、中断处理等场景中自动更新。R14&#xff08;LR&…

微信小程序中使用TensorFlowJS从环境搭建到模型训练及推理模型得到预测结果

1、小程序端环境准备app.json"plugins": {"tfjsPlugin": {"version": "0.2.0","provider": "wx6afed118d9e81df9"}}package.json"dependencies": {"tensorflow-models/posenet": "^2.2.…

深入剖析通用目标跟踪:一项综述

摘要 通用目标跟踪仍是计算机视觉领域一项重要且具有挑战性的任务,其难点在于复杂的时空动态变化,尤其在存在遮挡、相似干扰物和外观变化的情况下。过去二十年间,为应对这些挑战,研究者提出了多种跟踪范式,包括基于孪生网络的跟踪器、判别式跟踪器以及近期突出的基于Tran…

Next.js 链接与导航:页面间无缝切换

链接与导航&#xff1a;页面间无缝切换 关键要点 Next.js 提供了 <Link> 组件和程序化导航方法&#xff0c;实现页面间高效、无缝的切换。<Link> 组件利用客户端导航和预加载技术&#xff0c;优化用户体验和性能。程序化导航通过 useRouter 钩子&#xff08;Page…