You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

SOCKS5响应中没有BND.ADDR和BND.PORT怎么办?

当 SOCKS5 服务器响应 CONNECT 或 BIND 请求时,如果没有返回 BND.ADDR 和 BND.PORT 字段,则客户端无法知道实际建立的连接端口和IP地址。这可能是由于服务器缺少配置或实现问题引起的。

以下是一个示例代码,用于处理此问题,使用纯 Python 实现 SOCKS5 客户端

import socket

proxy = (‘proxy-host’, proxy-port)
remote = (‘remote-host’, remote-port)

sock = socket.socket(socket.AF_INET6 if remote[0].count(':') > 0 else socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(timeout)
sock.connect(proxy)

# 对于 CONNECT 请求,发送的格式为:
# b'\x05\x01\x00\x01' + socket.inet_aton(remote[0]) + remote[1].to_bytes(2, byteorder='big')
# 对于 BIND 请求,发送的格式为:
# b'\x05\x02\x00\x01\x00\x00\x00\x00\x00\x00'

# 继续读服务器响应,首先读取版本号和响应状态
ver, status = ord(sock.recv(1)), ord(sock.recv(1))

if status == 0x00:
    if ver == 0x05:
        # 读取返回的 ADDR 和 PORT
        atyp = ord(sock.recv(1))
        if atyp == 0x01:
            bnd_addr = socket.inet_ntoa(sock.recv(4))
        elif atyp == 0x04:
            bnd_addr = socket.inet_ntop(socket.AF_INET6, sock.recv(16))
        bnd_port = int.from_bytes(sock.recv(2), byteorder='big')

        print(f'Connected to {remote[0]}:{remote[1]} via {proxy[0]}:{proxy[1]}')
        print(f'BND address: {bnd_addr}, BND port: {bnd_port}')
    else:
        raise ValueError('SOCKS version not supported')
else:
    raise ValueError(f'SOCKS error occurred: {status
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

Kubernetes 观测:基于 eBPF 的云原生深度可观测性实践

我们通常可以引入日志和传统 APM 工具,来帮我们提高组件系统内部的可见性。前 2 层借助传统的观测能力就可以比较快速实现,但如果只达成这两层,并没有真正解决可观测性面临的问题。因此我们可能需要实现第三层:... 建连起始于用户空间的 socket 框架函数,再来到内核态 L4 层,经过关键函数 tcp\_v4\_connect ,最后建立连接;* 连接建立之后,后续的数据包也是先从用户空间出发,在 L4 层,会经过关键的 tcp\_sendmsg 函数,层层调用之...

如何排查云服务器可以ping通但是端口不通的问题

点击入向规则如何没有放行后端服务端口,则需要配置安全组规则。 ![](https://lf6-volc-editor.volccdn.com/obj/volcfe/sop-public/upload_984a369bc5f9a265b15759b6e10209c2)添加规则例如放行后端服务80端口,所... 返回结果中存在响应端口的配置规则,可删除相应的规则或者关闭防火墙后测试是否可以访问通:```undefined检查防火墙状态systemctl status firewalld.service 关闭防火墙systemctl stop firewalld.service``` ...

如何排查云服务器可以ping通但是端口不通的问题

点击入向规则如何没有放行后端服务端口,则需要配置安全组规则。![图片](https://lf6-volc-editor.volccdn.com/obj/volcfe/sop-public/upload_984a369bc5f9a265b15759b6e10209c2)添加规则例如放行后端服务80端口,... 返回结果中存在响应端口的配置规则,可删除相应的规则或者关闭防火墙后测试是否可以访问通:```undefined检查防火墙状态systemctl status firewalld.service 关闭防火墙systemctl stop firewalld.service```...

如何解决PostgreSQL 中用户无法删除的问题

client_addr | 172.17.247.129client_hostname | client_port | 58358backend_start | 2022-03-14 23:11:41.684693+08xact_start | 2022-03-14 23:11:44.201661+08query_start | 2022-03-14 23:11:44.201661+08state_change | 2022-03-14 23:11:44.201669+08wait_event_type | Lockwait_event | relationstate | activebackend_xid | 11678backend_xmin | 1...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

SOCKS5响应中没有BND.ADDR和BND.PORT怎么办? -优选内容

Kubernetes 观测:基于 eBPF 的云原生深度可观测性实践
我们通常可以引入日志和传统 APM 工具,来帮我们提高组件系统内部的可见性。前 2 层借助传统的观测能力就可以比较快速实现,但如果只达成这两层,并没有真正解决可观测性面临的问题。因此我们可能需要实现第三层:... 建连起始于用户空间的 socket 框架函数,再来到内核态 L4 层,经过关键函数 tcp\_v4\_connect ,最后建立连接;* 连接建立之后,后续的数据包也是先从用户空间出发,在 L4 层,会经过关键的 tcp\_sendmsg 函数,层层调用之...
配置 HTTP 响应
本文档介绍如何在火山引擎内容分发网络中配置 HTTP 响应头。 默认情况下,边缘节点在响应用户请求时,会包含所有来自源站的响应头。在内容分发网络中,您可以对响应头进行以下操作,以实现特定的目的。 设置响应头:如果... 在列表中,您可以选择一个或者多个变量字段,点击 确定,然后再插入常量字符串。示例值:${remote_addr}aaa${host}ccc 响应头部取值 设置一个需要添加或者删除的响应头字段。您可以设置任意的名称。字段名称不能超过...
监控 ECS 实例中的应用
基础组件和业务应用本身进行统一的观测。 基于应用本身的特点,托管 Prometheus 支持如下方法实现 ECS 实例和应用的观测: 对于符合云原生的组件或应用,由于直接提供了符合 Prometheus 要求的 Metrics 端口,因此可以直接接入托管 Prometheus,实现指标的观测。 对于一些传统应用和中间件,由于没有提供用于 Prometheus 监控的接口,也不支持 Prometheus 数据格式。您可以在 VPC 内的 ECS 实例上,部署对应的 exporter,然后接入托管 Pro...
客户端使用 SSL 加密连接 Redis
缓存数据库 Redis 版提供了 SSL(Secure Sockets Layer)加密服务,您可以提前开启 SSL 加密功能,在连接数据库时,通过设置 SSL 加密提高数据链路的安全性。本文介绍多语言客户端通过 SSL 加密连接来访问 Redis 数据库... 说明 如果忘记密码,您可以重置密码。具体操作,请参见修改或重置密码。 获取数据库连接信息 您可以参考如下步骤获取缓存数据库 Redis 版连接地址和端口号信息: 登录 Redis 控制台。 在顶部菜单栏的左上角,选择实...

SOCKS5响应中没有BND.ADDR和BND.PORT怎么办? -相关内容

配置自定义HTTP响应

基本概念HTTP 响应头是服务器在接收客户端请求后返回的响应元数据。这些元数据提供了关于响应的信息。例如:服务器类型、日期、内容类型等,这些不同的信息帮助客户端正确理解从服务器返回的数据。 操作背景全站加速... 响应头的值不是星号*时:您可配置一个或者多个值,可以是IP、域名、或者IP、域名混合。多个值之间请用英文逗号,分隔。 响应头的值必须包含http:// 或者https://。 响应头的值中可以包含端口响应头的值是域名时,...

新增加速域名

当修改响应头的方式为DELETE 时不生效,具体规则如下:取值长度为1 - 1000个字符,不支持中文。在变量模式下,HeaderValue只能在固定范围内填写:["uri", "request_uri", "http_host", "args", "msec", "scheme", "query_string", "host", "client_ip", "remote_addr", "remote_port"]。imageHeaderValueType否Stringheader填写HeaderValue中的值类型,支持取值:v:变量,此模式下,HeaderValue只能在固定范围内填写:["uri", "request_uri...

变更域名配置

且所有源站的权重之和不为0。1Port否Integer您可自定义回源端口。不填时系统会自动根据您的回源协议填充。回源协议为 HTTP 时:回源端口为80。Domain:回源协议为 HTTPS 时:回源端口为443。80OriginType是String主源... 当修改响应头的方式为DELETE 时不生效,具体规则如下:取值长度为1 - 1000个字符,不支持中文。在变量模式下,HeaderValue只能在固定范围内填写:[""uri"", ""request_uri"", ""remote_addr"", ""remote_port"", ""http...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

Kafka订阅埋点数据(私有化)

"ip_addr_id": 0, "ssid": "9b03c884-3e85-47fe-b8cb-5faadd0d2e7f", "cdid": "54822291-8636-471a-b138-7d29ae3fff05" }, "header": { "app_id": 10000023, "app_name": "cuckoo", "app_ver... // 废弃 uint32 client_port; // 客户端端口号 string data_center; //上报机房,废弃 string app_key; ...

Kafka订阅埋点数据(私有化)

"ip_addr_id": 0, "ssid": "9b03c884-3e85-47fe-b8cb-5faadd0d2e7f", "cdid": "54822291-8636-471a-b138-7d29ae3fff05" }, "header": { "app_id": 10000023, "app_name": "cuckoo", "app_ver... // 废弃 uint32 client_port; // 客户端端口号 string data_center; //上报机房,废弃 string app_key; ...

Kafka订阅埋点数据(私有化)

"ip_addr_id": 0, "ssid": "9b03c884-3e85-47fe-b8cb-5faadd0d2e7f", "cdid": "54822291-8636-471a-b138-7d29ae3fff05" }, "header": { "app_id": 10000023, "app_name": "cuckoo", "app_ver... // 废弃 uint32 client_port; // 客户端端口号 string data_center; //上报机房,废弃 string app_key; ...

配置 HTTP 响应

视频点播支持在域名管理中配置 HTTP 响应头。本文为您介绍如何在视频点播中配置 HTTP 响应头字段的功能介绍和操作步骤。 功能介绍默认情况下,缓存节点在响应用户请求时,会透传源站的响应头。在视频点播中,您可以对... remote_addr 表示发送请求的客户端 IP 地址。 10.10.10.10 remote_port 表示客户端请求使用的端口号。 443 host 表示客户端请求头中的 host 字段的值。 www.example.com:8080 http_host 与 host 字段的说明相同。...

查询单个域名详细配置

且所有源站的权重之和不为0。1PortInteger您可自定义回源端口。不填时系统会自动根据您的回源协议填充。回源协议为 HTTP 时:回源端口为80。Domain:回源协议为 HTTPS 时:回源端口为443。80OriginTypeString主源站类... 当修改响应头的方式为DELETE 时不生效,具体规则如下:取值长度为1 - 1000个字符,不支持中文。在变量模式下,HeaderValue只能在固定范围内填写:[""uri"", ""request_uri"", ""remote_addr"", ""remote_port"", ""http...

修改加速域名配置

primaryHttpPortString否表示内容分发网络使用 HTTP 协议访问该源站时所访问的端口,取值范围是 1-65535,默认值是 80。如果源站不支持该端口的访问,您指定默认值即可。该参数仅当 InstanceType 为 ip 或 domain 时才... "OriginAction": { "OriginLines": [ { "Address": "78.201.79.19", "HttpPort": "80", "...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询