当前位置: 首页 > article >正文

5个超实用网络转发技巧:用socat-windows解决90%的连接难题

5个超实用网络转发技巧用socat-windows解决90%的连接难题【免费下载链接】socat-windowsunofficial windows build of socat http://www.dest-unreach.org/socat/项目地址: https://gitcode.com/gh_mirrors/so/socat-windows在现代网络架构中系统管理员和开发者经常面临各种连接挑战数据库端口暴露导致的安全风险、跨网络服务访问的复杂配置、分布式系统日志收集的效率问题。作为一款功能强大的跨平台网络工具socat-windows为Windows环境提供了灵活高效的网络连接解决方案支持TCP、UDP、SSL加密等多种协议能够轻松应对端口转发、数据加密、协议转换等常见网络任务。本文将通过问题-方案-实践三段式框架帮助读者掌握socat-windows的核心功能与实战技巧解决90%以上的网络连接难题。核心能力解析为什么socat-windows是网络工具的首选如何在不增加硬件成本的情况下提升网络连接的灵活性和安全性socat-windows通过其独特的设计理念和丰富的功能集为这一问题提供了完美答案。作为基于Cygwin环境构建的非官方Windows版本网络工具它实现了不同数据通道之间的双向数据传输支持多种网络协议和连接方式成为解决复杂网络场景的理想选择。理解socat-windows的工作原理socat-windows的核心工作原理是创建两个独立的数据流端点并在它们之间建立双向通信通道。每个端点可以是不同类型的网络协议、文件、设备或管道这种设计使其能够连接各种不同类型的数据源和目标。简单来说socat-windows就像一个网络适配器能够将一种网络连接转换为另一种实现数据的转发、转换和加密。五大核心功能优势多协议支持涵盖TCP、UDP、SSL/TLS、UNIX域套接字等多种网络协议满足不同场景需求灵活的数据流向控制支持单向和双向数据传输模式适应各种数据传输需求丰富的连接选项提供多种连接参数配置可根据具体场景进行精细化调整安全增强功能支持SSL加密、权限控制等安全机制保障数据传输安全跨平台兼容性通过Cygwin环境实现Windows平台的良好运行同时保持与类Unix系统的兼容性场景化解决方案从问题到落地的完整指南构建加密通道从证书配置到访问控制如何在不暴露数据库端口的情况下实现安全远程访问SSL隧道一种通过加密方式在公共网络建立安全连接的技术是解决这一问题的理想方案。socat-windows提供了完整的SSL加密功能可快速构建安全的数据传输通道。场景说明需要通过公共网络安全访问内部数据库防止数据在传输过程中被窃听或篡改。基础配置socat.exe openssl-listen:8443,certserver.pem,verify0,fork tcp4:127.0.0.1:3306openssl-listen:8443创建SSL监听端口8443certserver.pem指定SSL证书文件verify0禁用客户端证书验证仅用于测试环境fork支持多连接处理优化参数企业级配置socat.exe openssl-listen:8443,certserver.pem,keyserver.key,verify1,ca-fileca.pem,fork,bind192.168.1.100 tcp4:192.168.2.50:3306keyserver.key指定私钥文件verify1启用客户端证书验证ca-fileca.pem指定CA证书文件bind192.168.1.100限制监听地址⚠️安全风险提示生产环境中务必启用客户端证书验证verify1并使用由可信CA签名的证书避免使用自签名证书和verify0参数。适用规模★★★★☆支持中小型企业的数据库加密访问需求实施复杂度★★★☆☆需要基本的SSL证书管理知识实现智能端口转发跨网络服务访问的最佳实践在多网络环境中如何实现不同网段之间的服务访问而不暴露内部网络结构socat-windows的端口转发功能可以轻松解决这一问题通过在边界服务器上建立转发规则实现内部服务的安全访问。场景说明远程办公人员需要访问公司内部OA系统但直接暴露OA系统端口存在安全风险。基础配置socat.exe TCP-LISTEN:8080,reuseaddr,fork TCP:192.168.1.100:80TCP-LISTEN:8080在本地监听TCP端口8080reuseaddr允许端口快速复用避免重启时出现地址已在使用错误fork为每个新连接创建子进程处理支持多连接优化参数企业级配置socat.exe TCP-LISTEN:8080,reuseaddr,fork,backlog100,bind10.0.0.10 tcp4:192.168.1.100:80backlog100设置连接队列长度为100提高并发处理能力bind10.0.0.10仅监听指定的网络接口增强安全性⚠️安全风险提示无限制的端口转发可能带来安全风险建议结合防火墙规则限制访问源IP并定期审计转发规则。适用规模★★★★★适用于各种规模的企业远程访问需求实施复杂度★★☆☆☆配置简单易于维护协议转换实战Windows环境网络调试的必备技能不同系统间的协议差异常常导致数据传输失败如何实现TCP与UDP协议之间的转换socat-windows提供了强大的协议转换能力可在不同类型的协议之间建立桥梁。场景说明需要将UDP协议的日志数据转换为TCP协议以便接入基于TCP的日志分析系统。基础配置socat.exe UDP4-RECVFROM:514,fork TCP4:192.168.1.200:5140UDP4-RECVFROM:514监听UDP端口514标准syslog端口fork为每个新连接创建子进程TCP4:192.168.1.200:5140转发到目标TCP端口优化参数企业级配置socat.exe UDP4-RECVFROM:514,fork,bind0.0.0.0,ip-add-membership224.0.0.1:eth0 TCP4:192.168.1.200:5140bind0.0.0.0监听所有网络接口ip-add-membership224.0.0.1:eth0加入多播组接收多播消息适用规模★★★☆☆适用于中小型网络的协议转换需求实施复杂度★★★☆☆需要理解不同协议的特性日志集中收集跨平台数据转发的高效方案分布式系统中如何高效收集多台服务器的日志数据socat-windows可以作为日志收集的中转站将分散的日志数据集中转发到日志分析平台。场景说明需要收集多台Linux服务器的syslog日志并集中存储到Windows服务器上的日志分析系统。基础配置socat.exe udp4-recvfrom:514,fork open:D:\logs\network.log,append,binaryudp4-recvfrom:514监听UDP端口514标准syslog端口open:D:\logs\network.log打开日志文件append以追加模式写入文件binary以二进制模式处理数据避免换行符转换优化参数企业级配置socat.exe udp4-recvfrom:514,fork,max-children100 exec:C:\Program Files\logprocessor\process.exemax-children100限制最大子进程数防止资源耗尽exec将接收到的数据通过管道传递给日志处理程序⚠️安全风险提示UDP协议不提供可靠性保证重要日志建议结合校验机制或使用TCP协议传输。适用规模★★★★☆适用于中大型分布式系统的日志收集实施复杂度★★☆☆☆配置简单但需要考虑日志轮转和存储管理构建安全的Web代理保护内部服务的访问控制如何在不直接暴露内部Web服务的情况下实现外部用户的安全访问socat-windows可以作为反向代理提供额外的安全层和访问控制。场景说明需要允许外部用户访问内部Web应用但希望隐藏真实服务器地址并添加访问控制。基础配置socat.exe TCP-LISTEN:80,reuseaddr,fork TCP:192.168.1.150:8080TCP-LISTEN:80在公共接口监听80端口reuseaddr允许端口复用fork支持多连接TCP:192.168.1.150:8080转发到内部Web服务器优化参数企业级配置socat.exe TCP-LISTEN:443,reuseaddr,fork openssl-connect:192.168.1.150:8443,certproxy.pem,verify1openssl-connect使用SSL加密连接内部服务器certproxy.pem指定代理服务器证书verify1验证内部服务器证书适用规模★★★★☆适用于需要对外提供Web服务的企业实施复杂度★★★☆☆需要SSL证书管理和基本的网络安全知识企业级落地指南从配置到优化的完整路径配置生成器快速构建企业级socat配置为了简化复杂场景的配置过程我们可以将socat-windows的参数组合成可复用的配置模板根据实际需求进行调整。以下是几个常用的企业级配置模板模板1安全数据库代理# 安全数据库代理模板 # 参数说明 # - CERT_PATH: SSL证书路径 # - CA_PATH: CA证书路径 # - LISTEN_PORT: 监听端口 # - TARGET_IP: 目标数据库IP # - TARGET_PORT: 目标数据库端口 socat.exe openssl-listen:${LISTEN_PORT},cert${CERT_PATH},verify1,ca-file${CA_PATH},fork tcp4:${TARGET_IP}:${TARGET_PORT}模板2高可用性端口转发# 高可用性端口转发模板 # 参数说明 # - LISTEN_PORT: 监听端口 # - LISTEN_IP: 监听IP地址 # - TARGET_IP: 目标服务器IP # - TARGET_PORT: 目标服务器端口 socat.exe TCP-LISTEN:${LISTEN_PORT},reuseaddr,fork,backlog100,bind${LISTEN_IP} tcp4:${TARGET_IP}:${TARGET_PORT}模板3日志转发与分析# 日志转发与分析模板 # 参数说明 # - LISTEN_PORT: 监听端口 # - LOG_FILE: 日志文件路径 socat.exe udp4-recvfrom:${LISTEN_PORT},fork open:${LOG_FILE},append,binary企业级安全加固方案在企业环境中使用socat-windows时需要特别注意安全配置以下是三个关键的安全加固方案1. 细粒度访问控制通过结合Windows防火墙和socat-windows的bind参数实现细粒度的访问控制# 仅允许特定IP段访问 socat.exe TCP-LISTEN:8080,bind10.0.0.10,fork tcp4:192.168.1.100:80配合Windows防火墙规则只允许特定IP段访问8080端口实现多层次的访问控制。2. 证书轮换与自动更新建立证书定期轮换机制确保即使证书泄露也能及时失效。可以通过批处理脚本实现证书的自动更新echo off :: 停止socat服务 net stop socat-service :: 备份旧证书 move C:\socat\server.pem C:\socat\server.pem.old :: 复制新证书 copy \\cert-server\certs\socat\server.pem C:\socat\ :: 启动socat服务 net start socat-service3. 操作审计与日志监控启用socat-windows的调试日志并结合日志监控工具实现操作审计socat.exe -d -d TCP-LISTEN:8080,fork tcp4:192.168.1.100:80 C:\logs\socat-audit.log 21配置日志监控工具如Windows事件查看器或第三方SIEM系统设置关键操作的告警规则。故障排查决策树当socat-windows出现问题时可以按照以下决策树进行排查启动失败检查是否缺少Cygwin依赖DLL如cygwin1.dll、cygcrypto-1.0.0.dll等确认端口是否被占用使用netstat -ano | findstr :端口号命令检查证书文件是否存在且权限正确连接超时验证网络连通性ping 目标IP检查目标端口是否开放telnet 目标IP 端口确认防火墙规则是否允许连接数据传输异常启用调试模式添加-d -d参数查看详细日志检查数据格式是否匹配文本/二进制模式验证缓冲区大小是否适合传输的数据类型性能问题检查系统资源使用情况CPU、内存、网络调整缓冲区大小-b参数考虑使用线程模式替代进程模式如支持性能优化策略为了在高负载场景下获得最佳性能可以采用以下优化策略缓冲区调优根据传输数据的特性调整缓冲区大小# 大文件传输优化16KB缓冲区 socat.exe -b 16384 tcp4-listen:8080,fork tcp4:backend:80连接管理优化配置TCP保活机制避免僵死连接socat.exe TCP-LISTEN:8080,fork,keepalive,keepidle60,keepintvl10 tcp4:backend:80进程管理优化限制最大子进程数防止资源耗尽socat.exe TCP-LISTEN:8080,fork,max-children50 tcp4:backend:80技术演进路线从传统网络到云原生环境随着云计算的普及socat-windows也在不断适应新的应用场景。传统的单机端口转发正在向容器化、云原生方向发展。在现代云环境中socat-windows可以与Docker、Kubernetes等容器技术结合实现更灵活的服务网格和流量管理。例如在Kubernetes集群中可以将socat-windows打包为Sidecar容器为应用提供额外的网络功能实现Pod间的协议转换提供SSL终结能力作为服务网格的流量代理未来随着边缘计算和物联网的发展socat-windows将在资源受限环境中发挥更大作用为边缘设备提供轻量级的网络连接解决方案。总结socat-windows作为一款功能强大的网络工具为Windows环境提供了灵活高效的网络连接解决方案。通过本文介绍的核心能力解析、场景化解决方案和企业级落地指南读者可以全面掌握socat-windows的使用技巧解决各种复杂的网络连接问题。无论是简单的端口转发还是复杂的加密通信socat-windows都能满足企业级应用的需求。在实际使用中建议根据具体场景选择合适的配置方案并遵循安全最佳实践确保网络通信的可靠性和安全性。通过不断探索和实践socat-windows可以成为系统管理员和开发者解决网络问题的得力助手为各种复杂网络环境提供高效、安全的数据传输解决方案。【免费下载链接】socat-windowsunofficial windows build of socat http://www.dest-unreach.org/socat/项目地址: https://gitcode.com/gh_mirrors/so/socat-windows创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

5个超实用网络转发技巧:用socat-windows解决90%的连接难题

5个超实用网络转发技巧:用socat-windows解决90%的连接难题 【免费下载链接】socat-windows unofficial windows build of socat http://www.dest-unreach.org/socat/ 项目地址: https://gitcode.com/gh_mirrors/so/socat-windows 在现代网络架构中&#xff0…...

ollama-QwQ-32B微调实践:优化OpenClaw的鼠标操作准确率

ollama-QwQ-32B微调实践:优化OpenClaw的鼠标操作准确率 1. 为什么需要微调模型? 去年冬天,当我第一次用OpenClaw自动整理桌面文件时,眼睁睁看着它把"季度报表.xlsx"拖进了"娱乐"文件夹——这个哭笑不得的瞬…...

nbiot-arduino库:Quectel BC95/BC68模组快速接入指南

1. 项目概述nbiot-arduino是一个面向嵌入式开发者的轻量级 Arduino 库,专为驱动 Quectel 公司推出的 NB-IoT(Narrowband IoT)通信模组而设计。该库并非通用 AT 指令封装器,而是聚焦于 NB-IoT 物联网场景下的典型交互范式——以低功…...

突破Unity游戏语言壁垒:XUnity Auto Translator的多维度解决方案

突破Unity游戏语言壁垒:XUnity Auto Translator的多维度解决方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 在全球化游戏市场中,语言差异已成为制约玩家体验的关键瓶颈。独立…...

别再手动算占空比了!手把手教你用TI C2000 EPWM互补输出驱动电机(附死区配置避坑指南)

从零到精通的TI C2000 EPWM电机驱动实战:死区配置与波形调试全解析 在电机控制领域,精确的PWM信号生成直接决定了系统性能和可靠性。传统的手动计算占空比方式不仅效率低下,还容易引入人为误差。TI C2000系列DSP内置的增强型PWM模块&#xff…...

3D打印螺纹设计革新:CustomThreads项目突破传统加工限制

3D打印螺纹设计革新:CustomThreads项目突破传统加工限制 【免费下载链接】CustomThreads Fusion 360 Thread Profiles for 3D-Printed Threads 项目地址: https://gitcode.com/gh_mirrors/cu/CustomThreads 你是否曾遇到3D打印螺纹时的挫败感?精心…...

嵌入式Linux C语言开发核心技术与实践

嵌入式Linux开发中的C语言编程要点解析1. 嵌入式C语言开发概述1.1 嵌入式环境特点在嵌入式Linux开发中,C语言作为主要编程语言具有不可替代的地位。与通用计算机环境相比,嵌入式系统具有资源受限、实时性要求高、硬件接口特殊等特点,这些特性…...

C语言基础:Anything to RealCharacters 2.5D引擎核心算法解析

C语言基础:Anything to RealCharacters 2.5D引擎核心算法解析 1. 引言 如果你对图像处理感兴趣,特别是想把卡通或二次元角色转换成逼真的真人形象,那么Anything to RealCharacters 2.5D引擎绝对值得深入了解。这个引擎背后的算法原理其实并…...

CLIP-GmP-ViT-L-14图文匹配测试工具:在Dify平台构建零代码AI工作流

CLIP-GmP-ViT-L-14图文匹配测试工具:在Dify平台构建零代码AI工作流 你有没有遇到过这样的场景?运营团队每天需要审核海量的用户上传图片,判断它们是否与商品描述相符,或者内容安全团队要筛查社交媒体上的图片是否违规。传统做法要…...

AI原生应用中的个性化推荐算法实战解析

AI原生应用中的个性化推荐算法实战解析 关键词:AI原生应用、个性化推荐、协同过滤、深度学习推荐模型、冷启动问题 摘要:在AI技术深度渗透的今天,“AI原生应用”(AI Native Apps)已从概念走向落地。这类应用的核心特征…...

Matrix Motor Extension:四通道嵌入式电机驱动模块详解

1. 项目概述Matrix Motor Extension 是一款面向嵌入式控制场景的四通道直流电机驱动扩展模块,专为需要多轴独立运动控制的智能硬件平台设计。其核心定位并非通用型电机驱动板,而是作为主控系统(如 STM32、ESP32、Raspberry Pi Pico 等&#x…...

OpenClaw安全实践:GLM-4.7-Flash模型权限控制与操作审计

OpenClaw安全实践:GLM-4.7-Flash模型权限控制与操作审计 1. 为什么需要关注OpenClaw的安全配置 去年冬天的一个深夜,我的个人笔记库突然出现了大量异常文件操作记录。当时我正在测试OpenClaw的自动化归档功能,由于没有正确配置权限边界&…...

InnoDB的“身体结构”:页、Buffer Pool与Redo Log的底层奥秘

欢迎来到MySQL InnoDB存储引擎的“解剖室”;很多人每天都在写SQL,却从未见过数据在磁盘上真正的模样。当面试官问:“为什么InnoDB比MyISAM快?”或者“数据库宕机了,数据是怎么恢复的?”如果你只能回答“因为…...

如何快速上手MOOTDX:Python量化分析者的通达信数据完整实战手册

如何快速上手MOOTDX:Python量化分析者的通达信数据完整实战手册 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx MOOTDX是一个专门为Python开发者设计的通达信数据接口封装库&#xff0…...

如何高效使用开源OCR工具:Umi-OCR专业部署与实战应用指南

如何高效使用开源OCR工具:Umi-OCR专业部署与实战应用指南 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件,适用于Windows系统,支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.com/G…...

【声纳与人工智能融合——从理论前沿到自主系统实战】第五章 声纳波形设计与主动感知智能优化

目录 第五章 声纳波形设计与主动感知智能优化 5.1 智能波形设计理论与方法 5.1.1 信息论指导下的波形优化 5.1.1.1 最大化互信息准则的波形设计 5.1.2 深度强化学习在波形设计中的应用 5.1.2.1 状态空间、动作空间与奖励函数设计 5.1.2.2 动态环境下波形序列的自适应生成…...

科哥定制版Z-Image-Turbo体验:中文提示词友好,AI绘画小白也能玩转

科哥定制版Z-Image-Turbo体验:中文提示词友好,AI绘画小白也能玩转 1. 为什么选择科哥定制版Z-Image-Turbo 作为一名长期使用各类AI绘画工具的设计师,我发现科哥定制版的Z-Image-Turbo在中文提示词理解和生成效果上有着显著优势。这个版本基…...

BMI160六轴IMU嵌入式驱动开发与FIFO中断实践

1. BMI160惯性测量单元技术深度解析与嵌入式驱动开发实践BMI160是由博世传感器技术公司(Bosch Sensortec)推出的超低功耗、高精度六轴惯性测量单元(IMU),集成三轴加速度计与三轴陀螺仪于单一封装内。该器件专为可穿戴设…...

OpenClaw私有化部署指南:Qwen3-VL:30B+飞书智能助手

OpenClaw私有化部署指南:Qwen3-VL:30B飞书智能助手 1. 为什么选择本地化部署? 去年我接手了一个需要处理大量敏感数据的项目,团队最初尝试使用公有云API,但很快遇到了数据合规问题。这促使我开始研究本地化AI解决方案&#xff0…...

【声纳与人工智能融合——从理论前沿到自主系统实战】第四章 认知声纳与自适应信号处理(AI+SP深度融合)

目录 第四章 认知声纳与自适应信号处理(AI+SP深度融合) 4.1 认知声纳系统架构与感知循环 4.1.1 感知-规划-行动闭环设计 4.1.1.1 动态环境感知与反馈机制 4.1.1.2 基于强化学习的波形自适应选择 4.1.2 开放式认知声纳体系结构 4.1.2.1 硬件可重配置架构(SDR) 4.1.2…...

如何快速配置罗技鼠标宏:5步实现绝地求生稳定压枪

如何快速配置罗技鼠标宏:5步实现绝地求生稳定压枪 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 在绝地求生的激烈对战中&#xff0…...

bb_imu:嵌入式多IMU统一驱动库与自动识别方案

1. 项目概述bb_imu是由 BitBank Software, Inc. 开发并维护的嵌入式惯性测量单元(IMU)统一驱动库,专为资源受限的微控制器平台(如基于 ARM Cortex-M 系列的 STM32、ESP32、nRF52,以及 Arduino AVR 架构)设计…...

用Neural Renderer和PyTorch搞定3D车辆模型渲染:从.obj文件到Carla数据集实战

3D车辆模型渲染实战:Neural Renderer与Carla数据集深度整合指南 在自动驾驶和计算机视觉领域,逼真的3D车辆模型渲染技术正成为算法开发和测试的关键环节。传统渲染方法往往难以平衡效率与真实感,而基于神经网络的渲染技术为解决这一难题提供了…...

如何快速实现Figma中文界面:设计师必备的免费本地化插件

如何快速实现Figma中文界面:设计师必备的免费本地化插件 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 你是否曾因Figma的英文界面而感到困扰?想要专注于设计创…...

SSE vs. WebSocket:实时通信技术的深度对比与选型指南

1. 实时通信技术的基本概念 现代Web应用对实时性的需求越来越高,从股票行情更新到在线聊天室,都需要服务器能够快速将数据推送到客户端。在这个领域,SSE(Server-Sent Events)和WebSocket是两种主流技术方案。我第一次接…...

从Demo到生产级:免费开源Agentic RAG实战课程,手把手教你构建智能系统!

Production Agentic RAG Course是一个免费开源课程,旨在帮助开发者从零构建生产级Agentic RAG系统。课程分为5个模块,共17节课,涵盖架构设计、工具集成、性能优化和生产部署等关键内容。Agentic RAG通过引入Agent能力,实现主动规划…...

2023最新版CCF期刊目录下载指南(附Python自动抓取脚本)

2023科研数据自动化:CCF期刊目录高效处理实战指南 科研工作者常面临海量期刊数据的筛选与分析难题。中国计算机学会(CCF)发布的推荐期刊目录作为计算机领域的重要参考标准,其结构化处理与深度分析能力直接影响研究效率。本文将突破传统PDF手工处理模式&a…...

VMware性能分配实战:CPU、内存与存储的黄金比例

1. VMware性能分配的核心逻辑 第一次用VMware创建虚拟机时,很多人会直接套用默认配置——比如给Windows 10分配4GB内存、2个vCPU。但当我同时启动3个这样的虚拟机时,宿主机16GB内存瞬间被吃光,而CPU利用率却只有30%。这个现象揭示了VMware资源…...

SAP系统与外部服务通信中断?手把手教你用STRUST搞定SSL证书过期问题(附Concur案例)

SAP系统SSL证书过期紧急处理指南:从报错诊断到STRUST实战 凌晨三点,SAP生产系统的监控警报突然响起——与Concur的差旅报销数据同步中断了。这不是普通的网络抖动,而是直接影响员工报销流程的关键故障。作为SAP Basis管理员,您需要…...

Cinema 4D 2026液体模拟实战:如何用新功能打造逼真水流效果(附参数设置)

Cinema 4D 2026液体模拟实战:如何用新功能打造逼真水流效果(附参数设置) 在三维动画和特效设计领域,液体模拟一直是技术难度最高、计算资源消耗最大的环节之一。Cinema 4D 2026针对这一核心功能进行了重大升级,特别是改…...