一、介绍
nping 是 Nmap 工具套件中的一个独立网络探测工具,用来构造并发送自定义数据包。可以用于:测试网络连通性、测试防火墙规则、模拟 TCP/UDP/ICMP 流量、进行延迟/丢包分析、压力测试。
二、安装
yum install nmap -y
三、使用方法
nping [Probe mode] [Options] {target specification}
全部参数
探测模式(PROBE MODES)
| 参数 | 中文解释 |
|---|
--tcp-connect | 普通 TCP 连接探测(无需 root 权限) |
--tcp | TCP 原始探测模式 |
--udp | UDP 探测模式 |
--icmp | ICMP 探测(类似 ping) |
--arp | ARP/RARP 局域网探测 |
--tr, --traceroute | 路由追踪模式(需配合 TCP/UDP/ICMP) |
TCP CONNECT 模式
| 参数 | 中文解释 |
|---|
-p, --dest-port | 指定目标端口 |
-g, --source-port | 指定源端口 |
TCP 探测模式(高级控制)
| 参数 | 中文解释 |
|---|
-g | 设置源端口 |
-p | 设置目标端口 |
--seq | 设置 TCP 序列号 |
--flags | 设置 TCP 标志位(SYN/ACK/FIN/RST等) |
--ack | 设置 ACK 号 |
--win | 设置窗口大小 |
--badsum | 使用错误校验和(测试过滤/防火墙) |
UDP 探测模式
| 参数 | 中文解释 |
|---|
-g | 设置源端口 |
-p | 设置目标端口 |
--badsum | 使用错误校验和 |
ICMP 探测模式
| 参数 | 中文解释 |
|---|
--icmp-type | ICMP 类型 |
--icmp-code | ICMP 代码 |
--icmp-id | 标识符 ID |
--icmp-seq | 序列号 |
--icmp-redirect-addr | 重定向地址 |
--icmp-param-pointer | 参数错误指针 |
--icmp-advert-lifetime | 路由广告生存时间 |
--icmp-advert-entry | 添加路由广告条目 |
--icmp-orig-time | 原始时间戳 |
--icmp-recv-time | 接收时间戳 |
--icmp-trans-time | 发送时间戳 |
ARP / RARP 模式
| 参数 | 中文解释 |
|---|
--arp-type | ARP 类型(request/reply等) |
--arp-sender-mac | 发送方 MAC |
--arp-sender-ip | 发送方 IP |
--arp-target-mac | 目标 MAC |
--arp-target-ip | 目标 IP |
IPv4 选项
| 参数 | 中文解释 |
|---|
-S | 设置源 IP |
--dest-ip | 设置目标 IP |
--tos | 服务类型字段 |
--id | IP 标识字段 |
--df | 不分片(Don’t Fragment) |
--mf | 更多分片标志 |
--ttl | 生存时间 |
--badsum-ip | 错误 IP 校验和 |
--ip-options | 设置 IP 选项 |
--mtu | 设置最大传输单元 |
IPv6 选项
| 参数 | 中文解释 |
|---|
-6 | 使用 IPv6 |
--dest-ip | 目标 IPv6 |
--hop-limit | 跳数限制(类似 TTL) |
--traffic-class | 流量类别 |
--flow | 流标签 |
以太网层选项
| 参数 | 中文解释 |
|---|
--dest-mac | 目标 MAC 地址 |
--source-mac | 源 MAC 地址 |
--ether-type | 以太网协议类型 |
载荷(Payload)选项
| 参数 | 中文解释 |
|---|
--data | 自定义十六进制数据 |
--data-string | ASCII 文本数据 |
--data-length | 随机数据长度 |
Echo 模式(客户端/服务器)
| 参数 | 中文解释 |
|---|
--echo-client | 客户端模式(带密码) |
--echo-server | 服务端模式 |
--echo-port | 指定端口 |
--no-crypto | 不加密 |
--once | 只接受一次连接 |
--safe-payloads | 清除应用数据 |
时间与性能
| 参数 | 中文解释 |
|---|
--delay | 每次探测延迟 |
--rate | 每秒发送包数量 |
其他(MISC)
| 参数 | 中文解释 |
|---|
-h | 帮助 |
-V | 版本 |
-c | 发送次数 |
-e | 指定网卡 |
-H | 隐藏发送包 |
-N | 不抓包 |
--privileged | 认为有 root 权限 |
--unprivileged | 无 root 模式 |
--send-eth | 以太网层发送 |
--send-ip | IP 层发送 |
--bpf-filter | BPF 过滤器 |
输出控制
| 参数 | 中文解释 |
|---|
-v | 增加详细输出 |
-v[level] | 设置详细等级 |
-d | 增加调试信息 |
-d[level] | 设置调试等级 |
-q | 减少输出 |
--quiet | 最小输出 |
--debug | 最大调试输出 |
四、常用命令
TCP 探测端口
nping --tcp -p 80 192.168.1.1
UDP 探测端口
nping --udp -p 53 192.168.1.1
发送自定义 payload
nping --tcp -p 80 --data-string "hello" 192.168.1.1
ARP 局域网探测(内网神器)
nping --arp --arp-type ARP-request 192.168.1.1
高精度延迟测试
nping --icmp -c 20 8.8.8.8
TCP 完整连接,类似telnet(无需 root)
nping --tcp-connect -p 22 192.168.1.1
对192.168.1.101的80端口,每秒10000次,快速建立tcp连接(TCP全连接攻击)
nping --tcp-connect --rate=10000 -p 80 192.168.1.101