socat用法记录

2024-05-01 16:44
文章标签 记录 用法 socat

本文主要是介绍socat用法记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.串口转网络

1.1 物理串口tcp端口服务端模式
socat TCP-LISTEN:8899,fork,reuseaddr FILE:/usr/local/dev/com1,b9600,cs8,raw,echo=0
1.2 物理串口UDP端口
socat UDP-LISTEN:8899,fork,reuseaddr FILE:/usr/local/dev/com1,b9600,cs8,raw,echo=0
1.3 虚拟串口转TCP客户端模式
socat PTY,link=/dev/ttyV1,b9600,cs8,raw,echo=0,  TCP:192.168.1.15:8080
1.4 虚拟串口转TCP服务端模式
socat PTY,link=/dev/ttyV1,b9600,cs8,raw,echo=0,  TCP-LISTEN:8080,fork

2.端口转发

2.1 TCP端口转发
socat TCP-LISTEN:8080,fork,reuseaddr TCP:1.1.1.1:8080

将端口8080的数据转发到IP 1.1.1.1 的 8080端口
tcp端口转发时,也支持http的转发。

2.2 TCP端口转UDP
socat TCP-LISTEN:8081,fork,reuseaddr UDP:192.168.1.15:8081
2.3 TCP转本地域套接字
socat TCP-LISTEN:3309,reuseaddr,fork UNIX-CONNECT:/var/lib/mysql/mysql.sock
2.4 NAT映射

在一个 NAT 网络环境中,也是可以通过 Socat 将内部机器端口映射到公网上的。在外部公网机器上执行

socat tcp-listen:1234 tcp-listen:3389

在内部私网机器上执行

socat tcp:outerhost:1234 tcp:192.168.1.34:3389

这样,你外部机器上的 3389 就映射在内网 192.168.1.34 的 3389 端口上了。不过这样场景下更推荐内网穿透神器 FRP

3.远程登录

在服务器上执行命令socat TCP-LISTEN:8080,fork,reuseaddr EXEC:/usr/bin/bash以提供shell。
在客户端登录时,输入命令socat - TCP:localhost:8080

4.网络测试

在终端1上启动服务器监听TCP,输入命令socat - TCP-LISTEN:8080
在终端2上启动客户端连接TCP,输入命令socat - TCP:localhost:8080
在终端2上输入内容,就能在终端1上显示

5.文件传输

在服务端接收文件时,执行命令socat -u TCP-LISTEN:8080 open:test.bin,create。
在客户端发送文件时,执行命令socat -u open:test.bin TCP:localhost:8080

这篇关于socat用法记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/952169

相关文章

SQL BETWEEN 语句的基本用法详解

《SQLBETWEEN语句的基本用法详解》SQLBETWEEN语句是一个用于在SQL查询中指定查询条件的重要工具,它允许用户指定一个范围,用于筛选符合特定条件的记录,本文将详细介绍BETWEEN语... 目录概述BETWEEN 语句的基本用法BETWEEN 语句的示例示例 1:查询年龄在 20 到 30 岁

CSS place-items: center解析与用法详解

《CSSplace-items:center解析与用法详解》place-items:center;是一个强大的CSS简写属性,用于同时控制网格(Grid)和弹性盒(Flexbox)... place-items: center; 是一个强大的 css 简写属性,用于同时控制 网格(Grid) 和 弹性盒(F

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

mysql中insert into的基本用法和一些示例

《mysql中insertinto的基本用法和一些示例》INSERTINTO用于向MySQL表插入新行,支持单行/多行及部分列插入,下面给大家介绍mysql中insertinto的基本用法和一些示例... 目录基本语法插入单行数据插入多行数据插入部分列的数据插入默认值注意事项在mysql中,INSERT I

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

mapstruct中的@Mapper注解的基本用法

《mapstruct中的@Mapper注解的基本用法》在MapStruct中,@Mapper注解是核心注解之一,用于标记一个接口或抽象类为MapStruct的映射器(Mapper),本文给大家介绍ma... 目录1. 基本用法2. 常用属性3. 高级用法4. 注意事项5. 总结6. 编译异常处理在MapSt

java中long的一些常见用法

《java中long的一些常见用法》在Java中,long是一种基本数据类型,用于表示长整型数值,接下来通过本文给大家介绍java中long的一些常见用法,感兴趣的朋友一起看看吧... 在Java中,long是一种基本数据类型,用于表示长整型数值。它的取值范围比int更大,从-922337203685477

MyBatis ResultMap 的基本用法示例详解

《MyBatisResultMap的基本用法示例详解》在MyBatis中,resultMap用于定义数据库查询结果到Java对象属性的映射关系,本文给大家介绍MyBatisResultMap的基本... 目录MyBATis 中的 resultMap1. resultMap 的基本语法2. 简单的 resul

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

统一返回JsonResult踩坑的记录

《统一返回JsonResult踩坑的记录》:本文主要介绍统一返回JsonResult踩坑的记录,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录统一返回jsonResult踩坑定义了一个统一返回类在使用时,JsonResult没有get/set方法时响应总结统一返回