一、前言在嵌入式开发、服务器组网调试场景中经常会遇到两台设备在同一个局域网但不知道对方IP地址。比如Windows笔记本共享网络给OK3588开发板两台设备同属192.168.1.x网段需要快速找出所有开机的Linux设备。如果挨个ping 1~254效率极低推荐使用nmap工具只用一条命令就能扫描整个C段网段只探测主机是否在线不扫描端口速度快、无多余数据包。核心命令nmap-sn192.168.1.0/24二、工具安装Ubuntu / Debian 系统OK3588、树莓派通用aptupdateaptinstallnmap-yCentOS / RHEL 系统yuminstallnmap-y权限说明局域网ARP扫描建议加sudo否则部分内网设备探测不到sudonmap-sn192.168.1.0/24三、核心命令详解1. 基础全网段扫描nmap-sn192.168.1.0/24参数拆解-sn不进行端口扫描No port scan仅做主机存活Ping探测。旧版本nmap等价参数为-sP新版本统一使用-sn。192.168.1.0/24扫描整个1网段所有IP192.168.1.1 ~ 192.168.1.254。输出结果解读出现Host is up就代表该IP设备开机在线Nmap scan report for 192.168.1.108 Host is up (0.002s latency). Nmap scan report for 192.168.1.101 Host is up (0.003s latency).四、扩展实用用法组网调试高频场景用法1扫描指定一段IP只扫描100~120区间缩小范围nmap-sn192.168.1.100-120用法2同时扫描多个不同网段nmap-sn192.168.1.0/24192.168.137.0/24用法3开启详细打印同时显示MAC地址区分Linux设备与路由器sudonmap-sn-v192.168.1.0/24可以直接看到网卡硬件地址快速分辨开发板、电脑、路由器。用法4把在线IP结果保存到文本nmap-sn192.168.1.0/24ip_list.txt五、对比原生bash ping扫描无需安装软件如果暂时无法联网安装nmap可以用系统自带循环ping脚本foriin{1..254};doping-c1-W1192.168.1.$i/dev/nullecho在线IP192.168.1.$i;done缺点扫描速度慢nmap基于ARP探测内网扫描成功率更高。六、常见问题排查问题1部分在线主机扫描不出来原因没有加sudo权限ARP探测被限制目标主机开启防火墙拦截了ICMP ping数据包。解决方案使用ARP强制扫描参数sudonmap-sn-PR192.168.1.0/24-PR强制使用ARP扫描局域网内几乎不会漏设备。问题2网段填写错误先查看本机IP确认自己所处网段iprouteifconfig本机IP为192.168.1.108则网段填写192.168.1.0/24。七、实战场景开发板组网调试流程笔记本与OK3588网线直连处于同一局域网开发板执行sudo nmap -sn 192.168.1.0/24找到笔记本共享网关IP修改开发板默认路由把出口网关指向笔记本实现网络共享上网。八、总结最简扫描命令nmap -sn 网段只探测在线主机不扫端口轻量高效内网优先加sudo -PR防止设备防火墙屏蔽ping导致扫描遗漏在嵌入式设备、ROS开发、多服务器局域网组网中这是查找对端IP最常用的手段对比批量ping脚本nmap扫描速度更快ARP探测不受ICMP防火墙限制。