在Linux下面端口映射socat自动脚本

这个sh脚本可以方面的端口映射,在使用本功能之前请确保socat已经放到了/usr/bin/socat

#!/bin/bash
cd `dirname $0`
let listenport=`basename $0 .sh`
cmd="socat-${listenport}"
connect=`cat ${listenport}.connect`
echo $connect
killall $cmd
sleep 1
rm $cmd
ln -s /usr/bin/socat $cmd
/usr/bin/nohup ./$cmd tcp-listen:$listenport,reuseaddr,fork tcp4:$connect >> socat.log 2>&1 &
/usr/bin/nohup ./$cmd udp-listen:$listenport,reuseaddr,fork udp4:$connect >> socat.log 2>&1 &
/bin/ss -anpl |grep $cmd

将以上代码保存成您要对外网开放的TCP/UDP端口,比如12345.sh那么就同时监听TCP和UDP的0.0.0.0:12345包括IPv4和IPv6

然后再编辑一个文件保存成12345.connect

127.0.0.1:22

然后运行./12345.sh

这样0.0.0.0:12345就映射到了127.0.0.1:22端口

posted on 2020-04-06 20:52  项希盛  阅读(856)  评论(0编辑  收藏  举报