NMAP 连续 ping

Posted

技术标签:

【中文标题】NMAP 连续 ping【英文标题】:NMAP continuous ping 【发布时间】:2013-01-24 12:43:12 【问题描述】:

我需要实现一个能够每秒向一定数量的目的地发送 ping 数据包的代码。问题是我想在 1 秒的窗口内 ping 尽可能多的目的地。出于这个原因,我在想是否有一种方法可以将循环强加到 nmap [我的意思是类似于 -cycle nmap 参数],这样套接字只会打开一次并在循环 ping 结束时关闭,这比使用“看nmap”的方法!

【问题讨论】:

【参考方案1】:

Nmap 项目的一部分是Nping tool。它旨在完全按照您的意愿行事,并且非常可配置。这是一个运行示例:

$ sudo nping --rate 4 --icmp 192.168.1.4/30

Starting Nping 0.6.26SVN ( http://nmap.org/nping ) at 2013-02-08 11:53 CST
SENT (0.0192s) ICMP 192.168.1.142 > 192.168.1.5 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
SENT (0.2692s) ICMP 192.168.1.142 > 192.168.1.6 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
SENT (0.5193s) ICMP 192.168.1.142 > 192.168.1.7 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
SENT (0.7695s) ICMP 192.168.1.142 > 192.168.1.4 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
SENT (1.0196s) ICMP 192.168.1.142 > 192.168.1.5 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
SENT (1.2701s) ICMP 192.168.1.142 > 192.168.1.5 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
RCVD (1.2707s) ICMP 192.168.1.5 > 192.168.1.142 Echo reply (type=0/code=0) ttl=64 id=34160 iplen=28 
SENT (1.5206s) ICMP 192.168.1.142 > 192.168.1.7 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
SENT (1.7708s) ICMP 192.168.1.142 > 192.168.1.4 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
SENT (2.0209s) ICMP 192.168.1.142 > 192.168.1.5 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
SENT (2.2712s) ICMP 192.168.1.142 > 192.168.1.5 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
RCVD (2.2717s) ICMP 192.168.1.5 > 192.168.1.142 Echo reply (type=0/code=0) ttl=64 id=34161 iplen=28 
SENT (2.5216s) ICMP 192.168.1.142 > 192.168.1.7 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
SENT (2.7717s) ICMP 192.168.1.142 > 192.168.1.4 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
SENT (3.0219s) ICMP 192.168.1.142 > 192.168.1.5 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
SENT (3.2724s) ICMP 192.168.1.142 > 192.168.1.5 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
RCVD (3.2730s) ICMP 192.168.1.5 > 192.168.1.142 Echo reply (type=0/code=0) ttl=64 id=34162 iplen=28 
SENT (3.5230s) ICMP 192.168.1.142 > 192.168.1.7 Echo request (type=8/code=0) ttl=64 id=53659 iplen=28 
^C 
Statistics for host 192.168.1.4:
 |  Probes Sent: 4 | Rcvd: 0 | Lost: 4  (100.00%)
 |_ Max rtt: N/A | Min rtt: N/A | Avg rtt: N/A
Statistics for host 192.168.1.5:
 |  Probes Sent: 4 | Rcvd: 3 | Lost: 1  (25.00%)
 |_ Max rtt: 0.391ms | Min rtt: 0.263ms | Avg rtt: 0.332ms
Statistics for host 192.168.1.6:
 |  Probes Sent: 4 | Rcvd: 0 | Lost: 4  (100.00%)
 |_ Max rtt: N/A | Min rtt: N/A | Avg rtt: N/A
Statistics for host 192.168.1.7:
 |  Probes Sent: 3 | Rcvd: 0 | Lost: 3  (100.00%)
 |_ Max rtt: N/A | Min rtt: N/A | Avg rtt: N/A
Raw packets sent: 15 (420B) | Rcvd: 3 (138B) | Lost: 12 (80.00%)
Tx time: 3.57078s | Tx bytes/s: 117.62 | Tx pkts/s: 4.20
Rx time: 3.57078s | Rx bytes/s: 38.65 | Rx pkts/s: 0.84
Nping done: 4 IP addresses pinged in 3.59 seconds

【讨论】:

【参考方案2】:

您可以通过以下方式在命令行中生成多个并行的 nmap 进程:

nmap [options for destination 0] > output0 &

为每个目标生成许多这样的 nmap 请求,同时保持 outputX 文件(输出 0、输出 1 等)的运行索引。当所有请求都完成后,您可以检查每个输出文件的内容

【讨论】:

如果所有实例都应该登录到同一个文件,请尝试>> 而不是>

以上是关于NMAP 连续 ping的主要内容,如果未能解决你的问题,请参考以下文章

批量ping连续ip

如果连续ping失败则启动traceroute的脚本,输出到日志

批处理,连续不断的ping一个固定的ip,3秒ping1次,将结果全部输出到txt上,带上时间

ping命令

sh 为speedtest-cli创建一个日志文件条目。将其放在/etc/cron.hourly目录中,以便连续记录冷却。报告ping时间,和

Nmap 命令操作详解