欢迎各位兄弟 发布技术文章
这里的技术是共享的
nc
(netcat)命令在Linux系统中是一个极其灵活且功能强大的网络工具,它允许用户通过TCP或UDP协议进行简单的数据传输、端口扫描以及监听。以下是对nc命令的详细说明和一些常见用法:
bashnc [选项] [主机名/IP地址] [端口号]
-l, --listen
:使nc进入监听模式,成为一个服务器,在指定端口上等待连接。
示例:nc -l 8080
会在本地8080端口开启一个监听服务。
-p, --source-port
:指定本地使用的源端口,用于客户端发起连接时。
示例:nc -p 5000 server.example.com 80
会从本地5000端口连接到server.example.com的80端口。
-u
:使用UDP协议而非默认的TCP协议。
-n
:禁用DNS解析,直接使用IP地址。
-v, --verbose
:显示详细输出,包括连接过程信息。
-w, --timeout
:设置超时时间(秒),在尝试连接无响应后退出。
-z, --zero
:执行扫描操作时不发送任何数据,仅检测是否可以建立连接。
-c, --send-string
:在建立连接后发送指定字符串,并在完成后关闭连接。
-g, --source-routing
和 -G, --gateway-list
:与路由相关的选项,通常在网络调试中使用较少。
-i, --interval
:在连续发送多个数据包之间设置间隔时间。
-o, --output
:将接收到的数据重定向到指定文件。
示例用法:
监听并回显来自任意连接的消息:
bashnc -l -p 12345
将本地文件通过TCP发送到远程主机:
bashcat localfile.txt | nc remotehost.example.com 9999
在远程主机上接收文件并保存到本地:
bashnc -l -p 9999 > receivedfile.txt
扫描目标主机的端口:
bashnc -zv target.example.com 1-1000
请注意,不同Linux发行版可能包含不同的nc版本,有的是传统的nc实现,有的则是改进版如ncat(nmap项目的一部分)。因此,上述选项可能会略有差异,具体请参考对应系统下的man手册以获取准确帮助信息。