AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 586714
Accepted
HTF
HTF
Asked: 2014-04-05 05:32:46 +0800 CST2014-04-05 05:32:46 +0800 CST 2014-04-05 05:32:46 +0800 CST

Nmap:从范围内查找空闲 IP

  • 772

有没有办法扫描网络上的免费 IP?我使用nmap -sP 192.168.1.0/24,但这实际上显示主机已启动。

nmap
  • 4 4 个回答
  • 29475 Views

4 个回答

  • Voted
  1. Best Answer
    bonsaiviking
    2014-04-05T05:56:54+08:002014-04-05T05:56:54+08:00

    像这样使用 Nmap 是一种相当准确的方式来做你所要求的,前提是一些先决条件是真实的:

    1. 您必须以 root(或 Windows 上的管理员)身份运行扫描才能发送 ARP 请求,而不是 TCP 连接。否则,扫描可能会在简单地设置防火墙时将地址报告为“关闭”。
    2. 您只能从与您正在扫描的地址范围相同的数据链路(第 2 层)上的系统执行此操作。否则,Nmap 将需要使用可以被防火墙阻止的网络层探测。

    为了获取“可用”地址,您需要获取 Nmap 报告为“关闭”的地址列表。你可以用一个简单的 awk 命令来做到这一点:

    sudo nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'
    

    使用的 Nmap 选项总结:

    • 当您使用该-v选项时,Nmap 会将它找到的地址打印为“向下”以及“向上”的地址。
    • 而不是-sP,我替换了较新的拼写-sn,它仍然完成相同的扫描,但意味着“跳过端口扫描”而不是误导性的“Ping 扫描”(因为主机发现阶段并不一定意味着 ICMP Echo 扫描或 Ping )。
    • 该-n选项会跳过反向 DNS 查找,这会为您争取一些时间,因为您对名称不感兴趣,而只对 IP 地址感兴趣。
    • 该-oG选项告诉 Nmap 输出grepable格式,这对 awk 来说更容易处理。参数 " -" 告诉它将此输出发送到标准输出。

    然后 awk 命令搜索“Status: Down”并打印包含 IP 地址的第二个字段。

    当然,如果您有权访问交换机的运行配置或 DHCP 服务器的租约,则无需进行可能引发安全警报的扫描即可更权威地获得此答案。

    • 31
  2. MartinC
    2014-04-05T05:40:25+08:002014-04-05T05:40:25+08:00

    不确定 n-map,但可以合理地假设,如果您编写一个向每个地址发送 1 个 ping 的 ping 脚本,则返回“无法访问目标”的任何主机都未被占用,并且返回“请求超时”的任何主机被占用但不响应 ping。两个响应之间的区别在于“destination unreachable”没有收到对其 ARP 请求的响应。“请求超时”意味着某些东西确实响应了 ARP 请求,但没有响应 ICMP 数据包。

    • 1
  3. Radu Gabriel
    2018-04-06T09:15:39+08:002018-04-06T09:15:39+08:00

    这是另一个受安德斯·拉尔森(Anders Larsson)启发的作品

    对于 172.18.5.{129..254} 中的 ip;执行 { ping -c 1 -W 1 $ip ; } &> /dev/null || 回声 $ip & 完成 | 种类

    这意味着:“尝试 ping 范围内的所有 Ips。如果“ping”失败,则打印该 IP”

    如果你这样做

    nmap -v -sn -n 192.168.1.0/24 -oG - | awk '/Status: Down/{print $2}'
    

    运行速度很快,但我注意到一些报告为“Down”的主机实际上是“Up”

    • 1
  4. gsarnold
    2016-09-30T07:59:11+08:002016-09-30T07:59:11+08:00

    这是 PowerShell 中的相同内容....

    ((nmap -v -sn -n 10.208.2.0/24 -oG - ) -match "Status\:\sDown") | foreach {($_).Split(" ")[1]}
    
    • 0

相关问题

  • 允许每个用户以 root 身份运行 nmap 是否危险?

  • 是否有使用 Nmap 并进行端口检查的 Nagios 插件?

  • NMAP:检查端口 80 和 8080 是否打开

  • tcp 端口 554 打开

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve