介绍两款好用的 Linux 网络端口转发工具,学到就是赚到

今天的内容很简单,主要分享 2 个有用的 Linux 端口转发的工具,涨涨见识,主打一个不让脑子和手闲着,开整吧。

这里所说的端口转发和 nginx 之类的反向代理还是有些区别的,更加底层一点。

推荐你看一下 TCP/IP 协议相关的网络协议反正也记不住,就只看看好了

这 2 个工具分别是:

1,socat,名字来由是 「Socket CAT」,其功能与有网络瑞士军刀之称的 netcat 类似,可以看做是 netcat 的加强版
2,netcat (nc),就是上面说的网络瑞士军刀了

启动待验证端口

为了验证端口转发,临时通过 docker 启动一个 nginx,并暴露 5000 端口。

docker run --rm -d -p 5000:80 nginx:alpine

netstat -antp | grep LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      706/sshd: /usr/sbin 
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      19081/docker-proxy  
tcp6       0      0 :::5000                 :::*                    LISTEN      19087/docker-proxy

curl -i http://localhost:5000

socat

首先需要安装 socat

yum install -y socat
socat -V

更多安装教程请移步:https://fasionchan.com/network/toolkit/socat/

假设,需要将本地 6000 端口转到指定的 5000 端口,利用如下 socat 命令

socat TCP-LISTEN:6000,fork TCP:127.0.0.1:5000

打开另一个终端窗口查看及验证

netstat -antp | grep LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      706/sshd: /usr/sbin 
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      19081/docker-proxy  
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      19183/socat         
tcp6       0      0 :::5000                 :::*                    LISTEN      19087/docker-proxy

curl -i http://localhost:6000

关闭转发,ctrl + c 或者 杀掉对应进程即可,上面 netstat 命令中也有对应的 PID 19183。

ps -ef | grep socat
root       19183    1264  0 14:34 pts/0    00:00:00 socat TCP-LISTEN:6000,fork TCP:127.0.0.1:5000

kill -9 19183

netcat (nc)

首先安装 nc

yum install -y nc
nc --version

更多安装教程移步:https://developnsolve.com/how-to-install-netcat-nc-on-linux

假设,需要将本地 6000 端口转到指定的 5000 端口,利用如下 nc 命令

nc -l -k -p 6000 -c "nc 127.0.0.1 5000"

同上,打开另一个终端.

netstat -antp | grep LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      706/sshd: /usr/sbin 
tcp        0      0 0.0.0.0:5000            0.0.0.0:*               LISTEN      19081/docker-proxy     
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      19219/nc            
tcp6       0      0 :::5000                 :::*                    LISTEN      19087/docker-proxy  
tcp6       0      0 :::6000                 :::*                    LISTEN      19219/nc

curl -i http://localhost:6000

关闭端口转发同上,ctrl + c 或者 杀掉对应进程即可。

netstat -talnp
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      19219/nc
tcp6       0      0 :::6000                 :::*                    LISTEN      19219/nc

kill -9 19219

今天介绍了 2 种方式实现 linux 网络端口转发,比较简单和实用,希望对你有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值