赞
踩
Ubuntu
和macos
下使用的nc
命令是netcat
.
# Ubuntu安装
apt install netcat -y
Centos7默认的nc命令是nmap-ncat
包提供的,并不是netcat
,nmap-ncat
有bug
:https://bugzilla.redhat.com/show_bug.cgi?id=1744561
# 查看nc符号连接指向的位置
readlink -f $(which nc)
要安装netcat
包,先配置epel
源: https://blog.csdn.net/omaidb/article/details/120393850
# 安装netcat
yum install netcat -y
!!注意
: 安装后nc
命令会变成netcat
,不再是nmap-ncat
.
建议卸载
nmap-ncat
# 卸载nmap-ncat
yum autoremove nmap-ncat -y
查看nc
符号连接指向的位置
# 查看nc符号连接指向的位置
readlink -f $(which nc)
参考: https://blog.konghy.cn/2020/04/03/linux-natcat/
参数 | 释义 |
---|---|
-k | 在当前连接结束后保持继续监听 |
-l | 用作端口监听,而不是发送数据 |
-n | 不使用 DNS 解析 |
-N | 在遇到 EOF 时关闭网络连接 |
-p | 指定源端口 |
-u | 使用 UDP 协议传输 |
-v | (Verbose)显示更多的详细信息 |
-w | 指定连接超时时间 |
-z | 不发送数据 |
# 创建TCP服务器
## -l 监听地址 端口
nc -l 127.0.0.1 8080
# 客户端以TCP协议连接到服务端
nc 127.0.0.1 8080
# 测试百度的80端口是否畅通
## -v 详细信息
## -w 指定连接超时时间
nc -v -w 2 baidu.com 80
# 创建UDP服务器
## -l 监听地址 端口
## -u 使用udp协议
## -v 显示详情
nc -luv 0.0.0.0 8081
# 查看是否8081在UDP上被监听
netstat -antup
# 客户端以UDP协议连接到服务端
## -u 使用udp协议
## -v 显示详情
nc -uv 目的地IP 8080
# netcat 测试udp端口
## -v 详细信息
## -u udp
nc -vu 114.114.114.114 53
# 安装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端口访问正常。
使用前
请安装最新版并更新特征库
https://blog.csdn.net/omaidb/article/details/120119433
# 使用nmap测试udp端口
nmap -sU 1.1.1.1 -p 5555 -Pn
STATE
为open
是正常打开的状态
STATE
为filtered
是被阻断或者没有打开的状态
nmap-ncat
测试udp端口使用如下指令测试目标服务器UDP端口的连通性:
# nmap-ncat和netcat测试UDP端口方法一致
# 测试5555的UDP端口
## -v 显示详情
## -u 使用udp协议连接
## -z 零I/O模式,仅报告连接状态
## -w 超时时间
nc -vuz -w 2 223.5.5.5 53
#回显
Connection to 223.5.5.5 53 port [udp/isakmp] succeeded!
如果返回succeeded
,则说明相应的UDP
端口访问正常
。
如果无任何返回信息
,则说明相应的UDP
端口访问失败
。
# 在服务端上开启8888端口
## -v 详情
## -u UDP协议
## -l 监听端口,而不是发送数据
## -p 指定源端口
nc -vulp 8888
# 在客户端上连接服务器的8888端口并发送数据
## -v 详情
## -u UDP协议
nc -vu 服务器地址 8888
## 连接后发送数据
发送端的电脑上输入:
cat file | nc -l 1234
这个命令会将 file 的内容输出到本地的 1234 端口中,然后不论谁连接此端口,file 的内容将会发送到连接过来的 IP。
接收电脑上的命令:
nc host_ip 1234 > file
这条命令将连接发送端的电脑,接受 file 内容保存。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。