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

随笔2个月前发布 咿咿呀呀呦
40 0 0

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

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

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

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

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

这 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

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

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

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

关闭转发,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

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

关闭端口转发同上,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

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

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

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...