在 Linux 系统中,有许多强大的网络工具可用于网络连接、数据传输和端口扫描。其中一个非常强大的工具是 nc
,也称为 Netcat,被称为网络工具的瑞士军刀,因为它可以执行各种网络任务。本文将深入探讨 nc
命令的使用方法,提供详细的示例代码,帮助大家用这个强大的工具。
nc命令是Linux系统中非常强大且灵活的网络工具之一。它可以用来建立各种网络连接、发送和接收数据,还可以用来进行端口扫描等网络测试。下面我将介绍nc命令的用法和一些常见的应用场景。
主要选项:
-l 或 –listen:在服务器模式下监听指定端口,等待客户端连接。
-n:禁用DNS反向解析,加快连接速度。
-v:显示详细的调试信息。
-z:仅进行端口扫描,不进行实际连接。
-u:使用UDP协议进行连接。
基本用法
nc
命令的基本语法如下:
nc [选项] 主机 端口
-
主机
:指定目标主机的IP地址或主机名 -
端口
:指定目标主机上的端口号
示例:
监听端口
可以使用 nc 命令在本地主机上监听指定端口,并将所有传入连接转发到终端。这对于创建简单的网络服务器非常有用。
示例:$ nc -l -p 8080
端口扫描
nc
可以用于扫描目标主机上的端口,以检查哪些端口是开放的,语法:nc -vz localhost m-n。
$ nc -zv target_host 80-100
端口扫描既可以是单个端口也可以是多个端口,以上指令扫描的是m-n之间端口号,来验证这些端口中哪些是可通的、是可以连接的、开放的。
此指令是想尝试连接到本地的 m 到 n 端口。对于每个成功的连接,它都会打印一个消息并退出。如果端口是关闭的或不可达的,它将不打印任何消息。使用 -vz 选项可以显示详细的输出并仅显示开放的端口。
😙首先通过netstat -an指令列出某设备或者说IP上所有开放的端口号
发现192.168.149.129的138端口号是开放的,我们通过指令nc -vz 来扫描130-145之间的所有端口号,除了138端口之外所有都显示connection refused。