转自: https://linuxconfig.org/install-netcat-on-redhat-8
【README】 nc 是什么?
nc,全名叫netcat,它可以用来完成很多的网络功能,譬如端口扫描、建立TCP/UDP连接,数据传输、网络调试等等,因此,它也常被称为网络工具的 瑞士军刀 。
[1] exe
dnf install nmap
[2] ncat --version
【3】 nc 命令行
[root@localhost ~]# nc
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]
常用选项:
-4:只使用 IPv4 地址
-6:只使用 IPv6 地址
-l:启动本地监听
-n:不使用 DNS 解析
-p:指定源端口
-s:指定源 IP 地址
-u:使用 UDP,默认是 TCP
-v:显示详细信息
-w:设定超时时间(只适合用在 Client 端)
-d:禁止从标准输入读取数据,也就是客户端输入数据不会发送到服务端
-k:让服务端保持连接,不断开
【4】通过nc建立连接并通讯
【4.1】 传送字符串
建立步骤: 首先是服务器开启端口监听; 其次才是 客户端访问端口
服务器:
[root@localhost ~]# nc -v -l 6000
Connection from 127.0.0.1 port 6000 [tcp/x11] accepted
hello server the now is 2020/12/13
hello client, you are so beautiful
客户端:
[root@localhost ~]# nc -v 127.0.0.1 6000
Connection to 127.0.0.1 6000 port [tcp/x11] succeeded!
hello server the now is 2020/12/13
hello client, you are so beautiful
这时: 服务器,客户端在同一台机器上;
【4.2】传输文件
还是先启动服务器端口, 然后客户端访问端口
server
[root@localhost ~]# cat out2.txt
[root@localhost ~]#
[root@localhost ~]# nc -l 6000 > out2.txt
[root@localhost ~]#
[root@localhost ~]# cat out2.txt
hello server
client
[root@localhost ~]# cat in.txt
hello server
[root@localhost ~]# nc 127.0.0.1 6000 < in.txt
[root@localhost ~]#
【5】不同机器间传输文件
【6】扫描端口
扫描某个端口
nc -zv 192.168.1.15 22
-z - 设置nc以简单地扫描监听守护进程,而实际上不向它们发送任何数据。
-v - 启用详细模式。
扫描端口范围
nc -zv 192.168.56.10 20-80