我正在寻找在一组网络中在线的所有主机。
我想找出170.10全网所有在线的主机。. (有~64K 可能的主机)。我尝试扫描的网络是内部本地网络。
我使用了 nmap 工具。但是大约需要50分钟,这太长了。在 64K 主机中,可能只有大约 20-40 台主机在线。但问题是它们可能位于可能的 256 个网络中的任何一个(或一个或多个)网络中。
我正在寻找一种方法来快速解决这个问题。我不认为使用 ping 命令会有所帮助,因为 ping 64K 主机不会更快。
我正在寻找任何替代解决方案,也许将 ICMP 数据包直接广播到所有 256 个网络或类似的东西。
任何想法/建议?谢谢。
fue*_*ero 16
简短的回答:
nmap -sn -T5 --min-parallelism 100 subnet/mask -oG output.file.txt; grep -v Down output.file.txt
解释:单独使用 nmap 应该能够更快地扫描。我们将首先限制 nmap 进行 ping 扫描-sP(较新版本将 -sP 替换为 -sn)
来自man nmap:
TIMING AND PERFORMANCE:
Options which take <time> are in seconds, or append 'ms' (milliseconds),
's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).
-T<0-5>: Set timing template (higher is faster)
--min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes
--min-parallelism/max-parallelism <numprobes>: Probe parallelization
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies
probe round trip time.
--max-retries <tries>: Caps number of port scan probe retransmissions.
--host-timeout <time>: Give up on target after this long
--scan-delay/--max-scan-delay <time>: Adjust delay between probes
--min-rate <number>: Send packets no slower than <number> per second
--max-rate <number>: Send packets no faster than <number> per second
Run Code Online (Sandbox Code Playgroud)
是时候做一个小实验了,只需要并行运行更多的 ping 扫描,--max-parallelism并注意在风中被检测到-T5:
nmap 没有任何选项:
% time nmap -sP 192.168.1.0/24
[...]
nmap -sP 192.168.1.0/24 0.04s user 0.02s system 2% cpu 2.917 total
% time nmap -T5 --max-parallelism=100 -sP 192.168.1.0/23
[...]
nmap -sP 192.168.1.0/23 0.08s user 0.04s system 0% cpu 37.469 total
Run Code Online (Sandbox Code Playgroud)
带计时选项的 nmap:
% time nmap -T5 --max-parallelism=100 -sP 192.168.1.0/24
[...]
nmap -T5 --max-parallelism=100 -sP 192.168.1.0/24 0.03s user 0.03s system 3% cpu 2.016 total
% time nmap -T5 --max-parallelism=100 -sP 192.168.1.0/23
[...]
nmap -T5 --max-parallelism=100 -sP 192.168.1.0/23 0.11s user 0.02s system 2% cpu 4.869 total
Run Code Online (Sandbox Code Playgroud)
相当的改进。
对于 /16 子网扫描,就像 OP 所问的那样:
Nmap done: 65536 IP addresses (30 hosts up) scanned in 169.43 seconds
nmap -sP -T5 --min-parallelism 100 --max-parallelism 256 192.168.0.0/16 44.67s user 8.45s system 31% cpu 2:49.44 total
Run Code Online (Sandbox Code Playgroud)
为了将@Dan 的建议也加入到混合中,我在 fping 仍在运行的情况下打了 5 分钟后感到无聊:-)
| 归档时间: |
|
| 查看次数: |
23378 次 |
| 最近记录: |