编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Linux macOS socat 又一个军刀? Anyone

wxchong 2024-09-16 07:02:22 开源技术 10 ℃ 0 评论
  • install

- ubuntu

`apt-get install socat`

- centos

`yum install -y socat`

- macos

`brew install socat`

- output commmand

```bash
lrwxr-xr-x 1 lex admin 33 Jan 7 10:31 socat -> ../Cellar/socat/1.7.4.3/bin/socat
lrwxr-xr-x 1 lex admin 34 Jan 7 10:31 procan -> ../Cellar/socat/1.7.4.3/bin/procan
lrwxr-xr-x 1 lex admin 33 Jan 7 10:31 filan -> ../Cellar/socat/1.7.4.3/bin/filan
  • Using Testing
  • forward port

- help

tcp4-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP4,TC

eg: -----------------------

监听IPv4的某一TCP端口,并转发至局域网内某一特定主机,可以使用以下命令

maxos ip 192.168.31.92

Route ip 192.168.31.88

/usr/local/bin/socat tcp4-listen:8080,fork TCP:192.168.31.88:80


尝试UDP

首先找一个53端口OK的dnspod

? ~ nc -vuz 119.29.29.29 53

Connection to 119.29.29.29 port 53 [udp/domain] succeeded!

UDP 是无连接的传输层协议,socat监听UDP端口的子进程创建后可能无法自动关闭,可以设定超时参数 -T<超时时间> 指定超时时间,当达到超时时间后无其余操作则会自动结束当前子进程。

-T<timeout> total inactivity timeout in seconds

/usr/local/bin/socat udp4-listen:55,fork UDP:119.29.29.29:5
lsof -i:53
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
socat 41810 lex 5u IPv4 0xfd10018d955a02fb 0t0 UDP *:domain
? ~ nc -vuz 192.168.31.92 53
Connection to 192.168.31.92 port 53 [udp/domain] succeeded!
  • 2. 读取文件
`socat - ./a.sh`
  • 3. 连接远程端口
? ~ socat - TCP:192.168.31.88:22
SSH-2.0-OpenSSH_8.0
quit
Invalid SSH identification string.
  • 4. NAT映射

外部公网机器上执行 socat tcp-listen:1234 tcp-listen:3389

在内部主机执行 socat tcp:RemoteIP:1234 tcp:192.168.31.88:3389

外部机器上的 3389 就映射在内网 192.168.31.88 的 3389 端口上了

应该类似于那种autossh

/usr/local/bin/autossh -M 12345 -qTfnN -D 7070 xule@远程服务器IP地址

当然前提是打通我的本地主机到远端主机的通道

比如我可以ssh xule@远程服务器IP地址登录

然后chrome配置下或者类似的软件配置下 Proxifier For Mac

- 4.这个玩意help就很长 .功能很多 ,需要慢慢研究.

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表