readlink -f $(which nc)
![在这里插入图片描述]()
要安装`netcat`包,先配置`epel`源: <;
安装netcat
yum install netcat -y
`!!注意`: 安装后`nc`命令会变成`netcat`,不再是`nmap-ncat`.
建议`卸载`nmap-ncat
卸载nmap-ncat
yum autoremove nmap-ncat -y
查看`nc`符号连接指向的位置
查看nc符号连接指向的位置
readlink -f $(which nc)
![在这里插入图片描述]()
## netcat常用参数
参考: <https://blog.konghy.cn/2020/04/03/linux-natcat/>
| 参数 | 释义 |
| --- | --- |
| -k | 在当前连接结束后保持继续监听 |
| -l | 用作端口监听,而不是发送数据 |
| -n | 不使用 DNS 解析 |
| -N | 在遇到 EOF 时关闭网络连接 |
| -p | 指定源端口 |
| -u | 使用 UDP 协议传输 |
| -v | (Verbose)显示更多的详细信息 |
| -w | 指定连接超时时间 |
| -z | 不发送数据 |
### 使用netcat创建TCP客户端和服务器
创建TCP服务器
-l 监听地址 端口
nc -l 127.0.0.1 8080
客户端以TCP协议连接到服务端
nc 127.0.0.1 8080
### 测试tcp端口
测试百度的80端口是否畅通
-v 详细信息
-w 指定连接超时时间
nc -v -w 2 baidu.com 80
![在这里插入图片描述]()
### 使用netcat创建UDP客户端和服务器
创建UDP服务器
-l 监听地址 端口
-u 使用udp协议
-v 显示详情
nc -luv 0.0.0.0 8081
查看是否8081在UDP上被监听
netstat -antup
客户端以UDP协议连接到服务端
-u 使用udp协议
-v 显示详情
nc -uv 目的地IP 8080
![在这里插入图片描述]()
### 测试udp端口
netcat 测试udp端口
-v 详细信息
-u udp
nc -vu 114.114.114.114 53
![在这里插入图片描述]()
## windows使用netcat测试UDP端口
安装netcat工具
$ choco install netcat -y
参考: <https://cloud.tencent.com/developer/article/1619766>
Windows版nc不要使用`-z`参数,`-z`误导人
失败示例(括号中是?号)
-v 显示详情
-u 使用udp协议连接
C:>nc -vu 1.1.1.1 5555
示例:
成功示例(括号中是协议名)
C:\windows\system32>nc -vu 1.1.1.1 5566
如上所示,如果返回结果中,端口号后面的括号中返回的是?号,则说明相应的UDP端口访问失败;
如果返回的是具体的协议类型,则说明相应的UDP端口访问正常。
## Linux使用nmap测试udp端口
### Centos7使用nmap扫描udp端口
`使用前`请安装最新版并`更新特征库` <;
使用nmap测试udp端口
nmap -sU 1.1.1.1 -p 5555 -Pn
`STATE`为`open`是正常打开的状态
`STATE`为`filtered`是被阻断或者没有打开的状态