nc(Netcat)是一款功能强大的网络工具,常被用于网络调试、数据传输以及端口监听等操作,以下是它的简介与使用方法:
简介
nc 是一个在网络中进行数据传输和通信的工具,它可以在不同的主机之间建立连接,并进行数据的发送和接收。由于其功能的多样性和灵活性,nc 被广泛应用于网络管理、安全测试以及网络应用开发等领域,被称为 “瑞士军刀” 般的网络工具。
使用
基本语法:nc -lvp 999。
其中,-l:用于指定 nc 监听某个端口;
-v:显示详细的连接信息,包括连接的建立、数据的传输等过程,用于调试和查看连接状态。
-p: 指定本地使用的端口号;
999: 是目标端口号。
服务端 nc -lvp 8888 开启8888监听端口 ——– 客户端 nc 192.168.100.1 8888 连接端口;
端口监听:在本地监听 8888 端口,等待客户端连接,输入nc -l -p 8888。执行该命令后,nc 将在后台运行,监听本地的 8888 端口。当有客户端连接到该端口时,nc 将接收客户端发送的数据,并将其显示在终端上。同时,你也可以在终端输入数据,发送给客户端。
端口扫描:扫描目标主机(如 192.168.1.100)的 80 到 100 端口是否开放,输入nc -z -v -w 1 192.168.1.100 80-100。nc 将尝试连接目标主机的 80 到 100 端口,并在连接成功或超时后显示相应的信息。如果端口开放,你将看到类似Connection to 192.168.1.100 80 port [tcp/http] succeeded!的提示;如果端口关闭或无法连接,则会显示nc: connect to 192.168.1.100 port 81 (tcp) timed out: Operation now in progress等信息。
数据传输:假设你有两台主机,一台作为服务器,另一台作为客户端。在服务器端,运行nc -l -p 9999 > received_data.txt,该命令将监听 9999 端口,并将接收到的数据写入received_data.txt文件中。在客户端,运行nc 192.168.1.101 9999 < send_data.txt,其中192.168.1.101是服务器的 IP 地址,这条命令将读取send_data.txt文件中的内容,并发送到服务器的 9999 端口。这样就实现了从客户端到服务器的数据传输;
例:
接收文件并且保存至 hello.txt 文件 nc -lvp 8888 > hello.txt
发送主机 world.txt 文件 nc 192.168.100.1 < world.txt
@7sircn学习论坛