nc,全称netcat,是一个常用的网络工具,可以用于连接网络套接字(socket)并发送和接收数据。nc可以作为调试和测试的工具,也可以用于网络安全评估和攻击等方向。下面是nc的详细使用教程:
1. 建立连接
使用nc建立一个TCP连接非常简单。假设我们要连接192.168.0.1的80端口,可以执行以下命令:
nc 192.168.0.1 80
如果连接成功,nc将显示"Connected to 192.168.0.1 port 80"提示信息。此时可以在终端中输入和接收HTTP请求(或者其他协议)。
2. 端口扫描
nc可以用于执行端口扫描,以便检查指定的主机是否开放了特定的端口。例如,检查192.168.0.1是否了22端口和80端口,可以执行以下命令:
nc -z 192.168.0.1 22 80
如果端口被开放,则nc将显示"succeeded!"提示信息。如果端口被关闭,则nc将显示"Connection refused"或者"Connection timed out"信息。
3. 文件传输
通过nc可以非常容易地在不同主机之间传输文件。例如,将本地文件test.tar.gz发送到192.168.0.2的8888端口,可以执行以下命令:
nc -v -n 192.168.0.2 8888 < test.tar.gz
然后,在接收方运行以下命令接收传输的文件:
nc -v -n -l 8888 > test.tar.gz
其中:
- -v:开启详细描述
- -l:指定nc在哪个端口监听
- -n:禁用DNS方向解析
- -w:使用等待连线的时间