Linux设置socks代理
公司里绝大多数主机已经禁止外网访问,仅保留一台主机设置socks作为代理服务器。如下为对socks这一概念的学习整理
什么是socks
是一种OSI模型下会话层的协议,位于表示层与传输层之间,作用是:
exchanges network packets between a client and server through a proxy server
出现原因
RFC 1928 这里解释的已经很清楚
The use of network firewalls, systems that effectively isolate an organizations internal network structure from an exterior network, such as the INTERNET is becoming increasingly popular. These firewall systems typically act as application-layer gateways between networks, usually offering controlled TELNET, FTP, and SMTP access. With the emergence of more sophisticated application layer protocols designed to facilitate global information discovery, there exists a need to provide a general framework for these protocols to transparently and securely traverse a firewall
由于工作在会话层,传输层在它下面,所以它的适应场景就要比HTTP 代理灵活,可以代理更多类型的应用数据,日常开发最常用的那些工作在应用层的协议就不在话下了
配置
socks的配置比较简单,可以简单(这是最简单的情况)分为不能访问外网的客户端服务器和可以访问外网代理服务器(这两者之间内网可联通)
代理服务器设置
通过SSH 在本地启动一个 SOCKS 代理服务器
ssh -f -N -D 0.0.0.0:1080 localhost
在这种设置下,客户端通过这个代理发送的请求,都会通过本地机器的网络接口转发出去。启动后可以验证
netstat -tuln | grep 1080
tcp 0 0 0.0.0.0:1080 0.0.0.0:* LISTEN
客户端设置
对于大多数的企业软件来说,其本身自带proxy设置,此时填入我们代理服务器的IP和开启的端口(一般是1080)即可(当然,如果做的更加精细些,可以加用户密码认证,这里自行查找命令参数),如idea

亦或是Dbvisualizer

一个curl的例子
之前使用如下命令一直无法运行curl(192.168.1.36是代理服务器IP)
curl --socks5 192.168.1.36:1080 http://www.baidu.com
查找原因是curl默认走的当前机器DNS解析,当前机器无法访问外网,自然行不通。需要额外增加--socks5-hostname,通过 SOCKS 代理服务器处理 DNS 解析,确保即使本地网络无法访问,依然能够成功解析目标网站的域名
curl --socks5-hostname 192.168.1.36:1080 http://www.baidu.com
当时在验证代理服务器的可用性时,这个问题让我卡了很久。若遇到类似的情况,比如其他命令需要通过代理访问外部网络,可以参考这个方法(其他命令可能有专属的参数表示)来解决 DNS 解析的问题
参考
- https://zh.wikipedia.org/zh-sg/SOCKS
- https://datatracker.ietf.org/doc/html/rfc1928
- https://www.freecodecamp.org/chinese/news/osi-model-networking-layers/
相关文章:
Linux设置socks代理
公司里绝大多数主机已经禁止外网访问,仅保留一台主机设置socks作为代理服务器。如下为对socks这一概念的学习整理 什么是socks 是一种OSI模型下会话层的协议,位于表示层与传输层之间,作用是: exchanges network packets between…...
【ACM出版】第四届信号处理与通信技术国际学术会议(SPCT 2024)
& 第四届信号处理与通信技术国际学术会议(SPCT 2024) 2024 4th International Conference on Signal Processing and Communication Technology 2024年12月27-29日 中国深圳 www.icspct.com 第四届信号处理与通信技术国际学术会议&#x…...
蓝队技术学习
声明: 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文 章。本文只涉及学习内容,其他的都与本人无关,切莫逾越法律红线, 否则后果自负 蓝队技术基础 1.企业网络架构:企业技术和信息团队的管理架构因企业而异。 CIO(Chief Informa…...
openpyxl处理Excel模板,带格式拷贝行和数据填入
本文中用openpyxl操作Excell 模板,进行行拷贝和数据填充. 主要涉及单元格格式的拷贝,合并单元格的拷贝,行高和列宽的处理. 将模板表格分为三部分,头部,中间循环填充部分,尾部.模板参数中设置头部高度,循环部分高度,剩余为尾部. 拷贝时先拷贝填充头部 ,然后根据数据循环拷贝填…...
无法在带有 WHM/cPanel 的 Ubuntu 22.04 服务器上安装 PHP 7.x – 缺少软件包
问题 正在使用Ubuntu 22.04设置服务器,并使用WHM/cPanel管理多个帐户和配置。我的目标是在服务器上安装 PHP 7.4(或更早的版本,如 PHP 7.3),因为我的一些应用程序与 PHP 8.x 不兼容。问题是,每当我尝试安装…...
数据结构-递归函数的调用栈过程
这道题考察的是递归函数的调用栈过程。 逐步分析程序的执行过程: main() 函数首先被调用,此时栈底是 main() 的信息。main() 函数调用 S(1),此时 S(1) 的信息被压入栈中,位于 main() 之上。S(1) 函数内部调用 S(0),因…...
在 WPF 中,如何实现数据的双向绑定?
在 WPF 中,数据绑定是一个非常重要的特性,它允许 UI 与数据源之间自动同步。双向绑定是一种常见的绑定方式,当数据源更新时,UI 会自动更新;同样,当 UI 中的元素(如文本框)发生改变时…...
pyinstaller 打包 playwright -- 如何将浏览器打包到程序中
start 最近玩了玩 playwright,记录一下遇到的问题。 1. 如何在 python 中使用 安装 pip install playwright安装浏览器驱动 playwright install查看浏览器驱动安装的位置 playwright install --dry-run2. 如何将浏览器打包的程序中 先找到我们使用 pip 安装…...
vue系列=状态管理=Pinia使用
1、Pinia基本概念 1、Pinia向外暴露了几个重要的函数,分别是createPinia、defineStore和storeToRefs 2、pinia有五个核心管理概念: store、store、getters、action、plugins 2、Pinia基本使用 1、安装过程 1、安装pinia插件:npm install pini…...
[HarmonyOS]简单说一下鸿蒙架构
鸿蒙操作系统(HarmonyOS)是由华为公司开发的一款面向全场景的操作分布式系统。它旨在提供一个统一的操作系统平台,支持多种设备,包括智能手机、平板电脑、智能电视、可穿戴设备、智能家居等。鸿蒙架构的设计目标是实现设备之间的无…...
【Python TensorFlow】进阶指南(续篇一)
在前两篇文章中,我们介绍了TensorFlow的基础知识及其在实际应用中的初步使用,并探讨了更高级的功能和技术细节。本篇将继续深入探讨TensorFlow的高级应用,包括但不限于模型压缩、模型融合、迁移学习、强化学习等领域,帮助读者进一…...
机器视觉和计算机视觉的区别
机器视觉和计算机视觉的区别 1、本质上两者是一样的,都是将光信号转换成电信号,然后交给计算机处理; 2、二者侧重点不同,计算机视觉更偏向研究,更前沿,采集到图像后交给计算机进行分析处理,包括…...
RDD 算子全面解析:从基础到进阶与面试要点
Spark 的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交:本地与集群模式全解析-CSDN博客 Spark on YARN:Spark集群模式…...
Vue.js动态组件使用
在 Vue.js 中,动态组件是一种功能强大的特性,它允许你在同一个挂载点根据条件动态地切换不同的组件。这通常通过 Vue 的 <component> 元素和 is 特性来实现。以下是如何在 Vue 3 中使用动态组件的详细指南: 基本用法 定义组件…...
智能合约在供应链金融中的应用
💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 智能合约在供应链金融中的应用 智能合约在供应链金融中的应用 智能合约在供应链金融中的应用 引言 智能合约概述 定义与原理 发展…...
【大数据技术基础 | 实验十】Hive实验:部署Hive
文章目录 一、实验目的二、实验要求三、实验原理四、实验环境五、实验内容和步骤(一)安装部署(二)配置HDFS(三)启动Hive 六、实验结果(一)启动结果(二)Hive基…...
Golang常见编码
1. URL 编码、解码 2. base64 编码、解码 3. hex 编码、解码 4. md5 编码 5. sha-1 编码 6. sha-256 编码 7. sha-512 编码 package mainimport ("crypto/md5""crypto/sha256""crypto/sha512""encoding/base64""encoding/h…...
搭建Spring gateway网关微服务
在使用微服务架构时,往往我们需要搭建一个网关服务,作为各个微服务的统一入口。Spring gateway作为网关服务的后起之秀,受到各大企业的欢迎。下面介绍下网关服务Spring gateway的搭建。 引入依赖,这一步比较重要,也需要…...
性能测试|JMeter接口与性能测试项目
前言 在软件开发和运维过程中,接口性能测试是一项至关重要的工作。JMeter作为一款开源的Java应用,被广泛用于进行各种性能测试,包括接口性能测试。本文将详细介绍如何使用JMeter进行接口性能测试的过程和步骤。 JMeter是Apache组织开发的基…...
spring boot 难点解析及使用spring boot时的注意事项
1、难点解析: 1.1 配置管理: --- 尽管Spring Boot强调“习惯优于配置”,但在实际项目中,仍然需要面对大量的配置问题。如何合理地组织和管理这些配置,以确保项目的稳定性和可维护性,是一个挑战。 --- Sp…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
