使用nping测试验证网络连接问题。

 基础探测模式

  • --tcp-connect
    用途:无特权TCP连接探测模式(模拟普通TCP三次握手)。
  • --tcp
    用途:TCP探测模式(直接构造原始TCP包,可自定义报文头)。
  • --udp
    用途:UDP探测模式(发送自定义UDP包)。
  • --icmp
    用途:ICMP探测模式(发送自定义ICMP包,如Ping请求)。
  • --arp
    用途:ARP/RARP探测模式(发送ARP请求或响应包)。
  • --tr, --traceroute

用途:路由跟踪模式(需与TCP/UDP/ICMP模式配合,显示路径节点)。

TCP CONNECT模式

  • -p, --dest-port <端口范围>
    用途:设置目标端口(如 80 或 1-1000)。
  • -g, --source-port <端口号>
    用途:设置源端口(仅适用于TCP连接模式)。

TCP PROBE模式(原始包)

  • -g, --source-port <端口号>
    用途:设置源端口。
  • -p, --dest-port <端口范围>
    用途:设置目标端口。
  • --seq <序列号>
    用途:设置TCP序列号。
  • --flags <标志列表>
    用途:设置TCP标志位(如 SYN, ACK, RST)。
  • --ack <确认号>
    用途:设置TCP确认号。
  • --win <窗口大小>
    用途:设置TCP窗口大小。
  • --badsum
    用途:使用无效校验和(测试防火墙/设备处理错误包的能力)。

 

‌UDP模式参数

  • -g, --source-port <端口号>
    用途:设置源端口。
  • -p, --dest-port <端口范围>
    用途:设置目标端口。
  • --badsum
    用途:使用无效校验和。

 

‌ICMP模式参数

  • --icmp-type <类型>
    用途:设置ICMP类型(如 8 表示回显请求)。
  • --icmp-code <代码>
    用途:设置ICMP代码(与类型配合使用)。
  • --icmp-id <ID>
    用途:设置ICMP标识符(用于匹配请求/响应)。
  • --icmp-seq <序号>
    用途:设置ICMP序列号。
  • --icmp-redirect-addr <地址>
    用途:设置ICMP重定向地址。
  • --icmp-param-pointer <指针>
    用途:设置参数问题指针(用于ICMP错误报文)。

 

‌ARP/RARP模式参数

  • --arp-type <类型>
    用途:设置ARP类型(如 ARP、ARP-reply、RARP)。
  • --arp-sender-mac <MAC地址>
    用途:设置发送方MAC地址。
  • --arp-sender-ip <IP地址>
    用途:设置发送方IP地址。
  • --arp-target-mac <MAC地址>
    用途:设置目标MAC地址。
  • --arp-target-ip <IP地址>
    用途:设置目标IP地址。

 

‌IPv4选项

  • -S, --source-ip <IP地址>
    用途:设置源IP地址。
  • --dest-ip <IP地址>
    用途:设置目标IP地址(替代命令行目标参数)。
  • --tos <服务类型>
    用途:设置IP头部的服务类型字段(8位)。
  • --id <ID>
    用途:设置IP标识字段(16位)。
  • --df
    用途:设置“不分片”标志。
  • --mf
    用途:设置“更多分片”标志。
  • --evil
    用途:设置保留位(用于测试异常包处理)。
  • --ttl <跳数>
    用途:设置生存时间(TTL)。
  • --badsum-ip
    用途:使用无效IP校验和。
  • --ip-options <选项>
    用途:设置IP选项(如路由记录、时间戳)。
  • --mtu <大小>
    用途:设置MTU(触发分片)。

 

‌IPv6选项

  • -6, --IPv6
    用途:启用IPv6模式。
  • --hop-limit <跳数>
    用途:设置跳数限制(类似IPv4的TTL)。
  • --traffic-class <>
    用途:设置流量类别(类似IPv4的TOS)。
  • --flow <标签>
    用途:设置流标签。

 

 

 

以太网选项

  • --dest-mac <MAC地址>
    用途:设置目标MAC地址(禁用ARP解析)。
  • --source-mac <MAC地址>
    用途:设置源MAC地址。
  • --ether-type <类型>
    用途:设置以太网类型(如 0x0800 表示IPv4)。

 

负载选项

  • --data <十六进制字符串>
    用途:添加自定义十六进制负载。
  • --data-string <文本>
    用途:添加自定义ASCII文本负载。
  • --data-length <长度>
    用途:生成指定长度的随机负载。

 

回显模式(客户端/服务器)

  • --echo-client <密码>
    用途:作为客户端发送加密回显请求。
  • --echo-server <密码>
    用途:作为服务器监听回显请求。
  • --echo-port <端口>
    用途:设置回显服务的端口。
  • --no-crypto
    用途:禁用加密和认证。
  • --once
    用途:服务器仅接受一次连接后退出。
  • --safe-payloads
    用途:清除回显包中的应用数据。

 

时间与性能

  • --delay <时间>
    用途:设置探测包之间的延迟(如 1s、100ms)。
  • --rate <速率>
    用途:设置每秒发送的包数(如 1000 表示千包/秒)。

 

杂项

  • -h, --help
    用途:显示帮助信息。
  • -V, --version
    用途:显示版本信息。
  • -c, --count <次数>
    用途:指定发送的探测轮次。
  • -e, --interface <接口名>
    用途:指定网络接口(如 eth0)。
  • -H, --hide-sent
    用途:隐藏发送的包(仅显示接收的响应)。
  • -N, --no-capture
    用途:不捕获响应包(仅发送)。
  • --privileged
    以完全权限运行(需root),允许原始套接字操作
    场景:构造自定义协议头、ARP欺骗

 

权限与数据包构造控制

  • --privileged‌
    以完全权限运行(需root),支持构造自定义协议头和底层操作(如ARP欺骗)
  • --unprivileged‌
    非特权模式运行,依赖系统协议栈(无法发送裸TCP/ICMP包)。
  • --send-eth‌
    在数据链路层发送原始以太网帧(需同时启用--privileged权限)。
  • --send-ip‌
    使用IP层原始套接字发送包(自动处理IP头校验和)。
  • --bpf-filter <规则>‌
    自定义BPF过滤规则(如tcp and src host 192.168.1.1),精准控制响应包捕获。

 

输出与调试控制

  • -v‌
    每增加一次,提升一级输出详细度(默认0级):
    • -v1:显示发送/接收包的基本信息。
    • -v3:显示数据包MAC/IP头详情。
  • -v[level]‌
    直接设置详细度等级(如-v4显示传输层协议详情)。
  • -d‌
    每增加一次,提升一级调试信息(默认0级):
    • -d1:显示数据包构造过程。
    • -d3:输出协议交互的十六进制dump
  • -q/-q[N]‌
    降低输出冗余度(-q3直接静默,仅显示错误)。
  • --quiet‌
    最小化输出(等同于-q9),仅显示最终统计结果。
  • --debug‌
    最大调试模式(等同于-v9 -d9),输出完整二进制包内容。

 

常用命令示例

--tcp-connect 使用系统TCP协议栈完成三次握手建立真实连接--模拟客户端验证服务可用性(如测试HTTP服务响应)

nping -p 80,443 --tcp-connect 192.168.1.1

 

--tcp 自定义发送原始TCP报文(需管理员权限)--端口扫描(SYN扫描)、协议栈压力测试

nping -p 80,443 --tcp 192.168.1.1

 

--udp 发送UDP数据包--检测UDP服务状态(如DNS、NTP端口)或测试丢包率

nping -p 53,123,162 --udp 192.168.1.1

 

--icmp 发送ICMP报文(如Echo Request)--检测主机存活状态、网络延迟及路径MTU(类似传统ping)

nping --icmp 192.168.1.1
 
--arp 发送ARP请求或响应包--探测局域网内主机MAC地址或检测ARP欺骗攻击
nping --arp 192.168.1.1

 

组合命令示例

TCP端口扫描,向目标80、443端口发送10次SYN包,TTL设为64,检测端口开放状态

nping --tcp -p 80,443 192.168.1.1 --flags SYN --ttl 64 -c 10

 

模拟HTTP客户端连接,建立TCP连接后发送HTTP请求,验证服务响应内容

nping --tcp-connect -p 80 192.168.1.1 --data-string "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n"

 

ICMP网络延迟测试,以每秒50包速率发送100次ICMP请求,统计延迟及丢包率

nping --icmp -c 100 --rate 50 192.168.1.1

 

 
 
posted @ 2025-04-24 10:42  剑小秀  阅读(199)  评论(0)    收藏  举报