socat工具做端口转发介绍

0    167    2

Tags:

👉 本文共约1648个字,系统预计阅读时间或需7分钟。

简介

socat 是一个多功能的命令行工具,用于在不同类型的输入和输出之间创建双向数据流。它经常被用来实现端口转发,支持 TCP、UDP、UNIX 套接字等多种协议。

Socat 的官方网站:http://www.dest-unreach.org/socat/

https://github.com/StudioEtrange/socat-windows

优势

  • 简单灵活,支持多种协议。
  • 可用于开发、调试和生产环境。

示例应用

  1. 暴露内网服务给外部访问。
  2. 测试网络服务的连通性。
  3. 创建安全隧道以加密数据流量(结合 openssl)。

端口转发的概念

端口转发是将一个端口的网络流量转发到另一个端口或服务器的过程。它通常用于以下场景:

  • 将本地端口流量转发到远程服务器。
  • 将远程端口流量转发到本地端口。
  • 为无法直接访问的服务提供访问途径。

1. 基本语法

socat 的基本使用语法如下:

其中:

  • <来源>:数据流的输入端,比如本地端口、文件、UNIX 套接字等。
  • <目标>:数据流的输出端,比如远程端口、管道、文件等。

2. 常见端口转发场景

(1) 本地端口转发到远程服务器

将本地 8080 端口的流量转发到远程服务器 192.168.1.10080 端口:

说明

  • TCP-LISTEN:8080:监听本地 8080 端口。
  • reuseaddr:允许重用本地地址和端口。
  • fork:为每个连接创建一个子进程。
  • TCP:192.168.1.100:80:将流量转发到远程地址 192.168.1.10080 端口。

(2) 远程端口转发到本地

将远程服务器 192.168.1.10080 端口流量转发到本地的 8080 端口:

(3) 双向端口转发

在两个服务器之间建立双向端口转发,比如将 Server A8080 端口和 Server B9090 端口连接起来: 在 Server A 上执行:

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复