先讲一个我实际踩过的场景:某天新装了一台带桌面版的Ubuntu用于实验环境,装完顺手就把显示器拔了,放到角落只留一根网线。回头想起来要远程连进去跑脚本,打开终端准备SSH,卡在第一步——这台机器的IP到底是多少?Ubuntu默认走DHCP,路由器列表里设备又多,手机、电视、智能家居全混在一起,根本不知道哪一条是那台Linux。这时我打开Windows笔记本(日常主力机),用Advanced IP Scanner快速扫了一遍网段,几秒钟就把那台Ubuntu的IP、MAC、厂家信息看得明明白白,直接用SSH连过去搞定。
Advanced IP Scanner就是这样一个非常老牌且免费的局域网扫描工具,Windows下直接运行,不用安装,平时主要用来解决“这台设备在哪个IP、开着什么端口、MAC地址是什么”这类基础但烦人的网络排查问题。它能把整个C段所有在线设备列成一张表,逐台显示IP、主机名、MAC地址、网卡厂商、开放端口,还能直接调用SSH、VNC、远程桌面、FTP之类常用协议发起连接。这篇就专门聊聊:怎么用Advanced IP Scanner在局域网里快速定位Ubuntu主机,以及扫描到IP之后怎么高效接续操作。
适合谁看?刚接触Linux、装了Ubuntu却找不到IP的新手,机房里配服务器不接显示器的运维初学者,以及偶尔需要在杂乱局域网里核实某个设备身份的桌面管理员。不用深入网络原理,跟着操作就能解决实际问题。
1. 为什么要用Windows工具去扫Ubuntu的IP
1.1 Ubuntu的IP不是天生固定的
很多第一次正经部署Ubuntu的朋友容易默认“装完系统网络就通了,IP我也知道”。但Ubuntu默认安装完,有线网卡走的是DHCP自动获取地址。也就是说,除非你安装过程中手动指定了静态IP,否则这台机器的地址是由路由器或局域网里的DHCP服务分配的,随时可能变。
在机房、实验室这些人手一台显示器的场景里,最常见的死循环就是:不接显示器就不知道IP,不知道IP就没办法SSH,没法SSH就得重新接显示器查看。而Advanced IP Scanner从外部直接探测,完全绕开“需要登录系统才能看到网络配置”这个问题,适合初期快速拿到地址。
1.2 不只在Ubuntu上用得上
这套方法适用于任何Linux发行版,Debian、CentOS、树莓派系统等场景都一样。核心思路没变:从局域网网关所在的C段里逐个探测在线主机,找出MAC厂商信息匹配网卡、且开放22号SSH端口的那一台。
我帮同事处理过一次服务器迁移,新装了几台Debian机器接在办公网里,没人记得哪台机器被分配到哪个地址。用扫描器扫完以后,照着结果里带SSH端口标记的条目逐一核对MAC和机器标签,只花了几分钟就把人和机器对上了号。对比之下,如果用登录路由器后台翻DHCP客户端列表的方式,虽然也能看,但信息没有MAC、端口、厂商这么完整,效率低不少。
1.3 扫描工具解决的不是单纯一个IP问题
Advanced IP Scanner的价值在于它输出的是“网络设备全貌”,而不仅仅是一个IP地址。一台Ubuntu主机在同一网段里是否在线、网卡是谁家的、有没有开SSH、是不是正在向全网提供HTTP或FTP服务,一次扫描下来全能看到。
对于经常要在局域网里排查设备的人来说,这种整体视图比单独查看某个地址要实用得多。比如怀疑某台机器开了不该开的FTP端口,或者发现某个不明设备占用了网段里的地址,直接看结果表就行。对我来说,它替代的不只是“查找IP”这一步,而是整个“搞清楚局域网里到底有什么”的过程。
2. Advanced IP Scanner的扫描原理与识别逻辑
2.1 怎么在几秒内扫完一个网段
Advanced IP Scanner默认的做法是向指定范围内的每个IP地址发送ICMP Echo请求,也就是Ping连通性探测。目标主机关机、不在这个网段、或者防火墙禁Ping,主机就不会出现在结果里。
但只靠Ping,会漏掉一些“在线但禁Ping”的设备,比如安全策略严格的生产服务器、Windows自带防火墙的主机。所以工具做了额外的探测——对每个已知在线或疑似在线的IP尝试连接常见服务端口(比如SSH的22、HTTP的80、远程桌面的3389、文件共享的445)。只要端口有响应,即使Ping不通,那台主机也照样会出现在扫描结果中。
这也是为什么扫描速度通常很快:一个标准C段只有254个可用地址,纯Ping探测1-2秒就能完成一轮,加上端口探测也不会超过10秒。如果你身处一个更大的网段(比如B段),也可以手写一个更大范围的起始-结束IP区间,只是扫描时间会相应变长。
2.2 如何识别出“这台是Ubuntu”
扫描结果里显示的主机名、MAC、厂商名、端口号,是判断设备身份的四组核心信息,配合使用就能把Ubuntu从一堆设备里捞出来。
先看MAC地址的OUI前缀。MAC地址是全球唯一的,前6位十六进制字符对应网卡制造商的注册编号,Advanced IP Scanner内置了OUI厂商数据库,扫描后能直接显示“这块网卡是哪家厂生产的”。比如一台机器网卡制造商是Intel或者Realtek,扫描结果里就会显示对应名字。多数Ubuntu裸机服务器的网卡就是板载Realtek或Intel,所以结果表里出现这类厂商名是一个值得关注的信号。
再看端口。Ubuntu如果装了openssh-server,默认就会监听22端口,扫描结果在“端口”列直接出现一个带有SSH标识的数字。结合“在线、能通、开放22端口”这两条,基本可以锁定Linux主机。如果这台Ubuntu还开着HTTP服务(比如装了管理面板或Web环境),则会在结果中出现80或其他端口,可以进一步确认。
主机名也可能是线索。某些Linux发行版默认主机名是“ubuntu”加一串字样,如果机器上开了mDNS或者Samba相关协议,扫描器可能通过NetBIOS或反向DNS解析直接把这个主机名带出来,结果表里一目了然。
判断优先级可以总结为:
| 信息来源 | 识别作用 | 典型表现 |
|---|---|---|
| 开放端口 | 最强信号 | 22端口出现且目标是Linux |
| MAC厂商 | 辅助判断 | Intel、Realtek等板载网卡厂商名 |
| 主机名 | 直接线索 | ubuntu相关、自定义主机名 |
| 状态栏 | 是否在线 | Up且延迟数值正常 |
2.3 为什么偶尔会显示Unknown
Advanced IP Scanner的厂商识别依赖内置OUI数据库。新网卡、虚拟网卡、小众硬件厂商如果不在这份库里,结果就会显示Unknown或直接空白。这不代表设备不是Ubuntu,只是数据库里没有对应记录。
虚拟机里跑的Ubuntu尤其容易出现Unknown,因为虚拟网卡(比如常见虚拟化平台的虚拟网卡)MAC地址前缀属于虚拟化厂商,有些不在扫描器数据库的最新版本里。所以“Unknown”不能当作排除依据,要配合端口扫描结果做最终判断。我会建议把重点放在端口那一列上,而不是主机名或厂商名。
这个道理也解释了一个常见误解:不是扫描器“认出”了Ubuntu,而是它把开放端口、MAC和主机名这些证据抓出来,由人来做最终判断。
3. 实操过程:5分钟扫到Ubuntu的IP
3.1 下载与启动准备
Advanced IP Scanner官方免费版直接在官网下载即可,是一个绿色软件包,Windows下解压双击就能用,不需要安装向导。我平时会在U盘里常备一份,去机房解决临时问题时不需要现场下载。
扫描前确认几件事:
- Windows笔记本必须和Ubuntu连在同一个局域网里。最简单的方法是把Windows网卡设为DHCP自动获取,并查看网关IP,然后以前三位的网段做扫描范围。
- 关闭Windows自带防火墙对高级IP扫描工具的拦截?实际上不需要,因为扫描是主动向外发探测包,不是被动接收入站连接。
- 如果笔记本连的是无线网络且路由器开启了“AP隔离”功能,无线设备之间的通信会被切断,扫描会直接失效。遇到这个先取消隔离再做扫描。
3.2 正确设置扫描IP范围
打开Advanced IP Scanner后,主界面上方有一个IP范围输入框。我们通常填的是网关地址所在网段,比如路由器管理地址是192.168.1.1,那么扫描范围可以写成192.168.1.1-192.168.1.254。这个写法表示从192.168.1.1到192.168.1.254之间所有地址全覆盖。
如果记不清路由器地址,用Windows命令行敲ipconfig,看“默认网关”那一项就行。如果网络里存在多个网段(例如办公网分192.168.1.x和192.168.2.x两个网段,而Ubuntu在另一个网段),就需要把两个范围都扫一遍。Advanced IP Scanner允许用英文逗号分隔多个范围,例如192.168.1.1-192.168.1.254, 192.168.2.1-192.168.2.254,这样一次操作就能覆盖几个主要网段。
提示:范围输入宁大勿小,但也不要一次扫完整个B段(上万个地址),那会让扫描时间拉长到分钟级,还可能被部分带入侵检测的路由器或交换机临时封锁源IP。先用小范围锁定,再扩大范围是更稳妥的做法。
3.3 扫描、等待、读结果
点“扫描”按钮后,界面会持续刷新设备列表。在线设备显示为“Up”,状态列有响应延迟数值;离线的不会出现在列表里。等待进度条跑完后,顶部统计会显示“找到XX台活动主机”。
读取结果的重点顺序是:先核对MAC厂商列,找Intel、Realtek、以及其它板载网卡厂商名对应的设备;再看端口列有没有22字样,这是SSH服务的标志。两者同时命中的基本就是那台Ubuntu。
下面是一次真实场景的记录:办公网192.168.1.0段,扫描完成后共找到17台设备。其中192.168.1.108这台,制造商显示为Intel,端口列出现“22 SSH”,主机名叫ubuntu-8c4f。虽然主机名不是标准的“ubuntu”,但结合打开的SSH端口,判断是目标Linux主机无疑。后续我用SSH直接连过去,系统提示符显示的机器名与之完全匹配。
如果一台设备的MAC厂商显示Realtek,开放端口也恰好是22,但主机名是空白,也一样值得尝试连接。
3.4 扫描出IP后的三种常用操作
- 直接SSH:点击列表中的设备行,右侧操作面板里有“SSH”按钮,点击后会调用系统默认的SSH客户端连接该IP,填入用户名密码即可登录。
- 复制信息:右键某行可以复制该设备的完整信息(IP、MAC等),适合做备案记录或粘贴到路由器静态分配界面。
- 保存扫描清单:工具栏上的“保存/导出”功能可以把当前扫描结果存成文件,下次网络调整或设备迁移时可以参考。
我通常会一边扫描一边把结果发给需要远程操作的那台Windows上有SSH工具的同事,省去再查一遍的过程。
4. 扫描到IP之后:快速接续配置Ubuntu网络
4.1 临时连接和验证
扫描结果给出IP后,先用这个地址做一次SSH登录尝试,确认确实能连上。命令如下:
ssh 用户名@192.168.1.108第一次连接会有主机指纹确认提示,输入yes即可。如果弹出输入密码,说明网络通、SSH服务正常。如果用户配置了密钥认证,则不需要输密码直接进入。
也可以在Windows命令行下用ping验证连通性:
ping 192.168.1.108ping通只代表ICMP通,不代表SSH可用,所以最好还是以SSH连接结果为准。
4.2 让Ubuntu固定IP防止再次丢失
扫描定位只是应急手段,治本的办法是给Ubuntu配置静态IP,或者至少把DHCP地址在路由器里做MAC绑定。否则下一次重启、DHCP租约过期,这台机器的地址又可能变,到时候还得重新扫一遍。
Ubuntu较新版本(17.10之后)通过netplan管理网络配置。编辑配置文件:
sudo nano /etc/netplan/01-netcfg.yaml把动态获取改为静态指定,下面是一个参考配置:
network: version: 2 ethernets: eth0: dhcp4: no addresses: - 192.168.1.108/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: [192.168.1.1]网卡名称以实际为准,可以通过ip addr命令确认。配置完成后运行:
sudo netplan apply如果一切正常,ip address show应该能看到新地址。这个静态IP一旦配好,下次直接记忆IP就能连接,不用再依赖扫描工具。
4.3 用路由器的DHCP绑定做兜底
如果不想改Ubuntu内部配置(例如某些自动化环境希望所有机器都走DHCP),可以在路由器后台找到“静态DHCP分配”或者“地址保留”功能,把扫描到的这台Ubuntu MAC地址和某个固定IP绑定。这样路由器发地址时,始终把同一个IP分给这台机器,效果等同于静态IP,但对系统内部没有侵入性。
两种方案按场景取舍:Ubuntu单独管理,优先用netplan静态配置;如果网管层面已经规划好统一DHCP,那么路由器绑定更省事。无论哪种方式,扫描到IP这一步都是前置必经之路。
4.4 扩展联动:借助扫描结果确认服务状态
一次扫描能顺手确认这台Ubuntu是否在提供额外的服务。如果结果里出现了80端口(HTTP)、445端口(Samba共享)或者3306、5432这类数据库端口,说明机器上运行的Web或数据库服务正在监听。排查“服务为什么访问不了”这类问题时会非常有帮助。之前遇到一次同事访问不了Ubuntu上的网页,扫描结果直接显示80端口没开,排查方向立刻转向服务本身而不是网络,节省很多时间。
另外,Advanced IP Scanner右侧的操作面板有“网页浏览”按钮,可以直接用默认浏览器打开http://IP,对于装有Web管理界面(比如Cockpit、宝塔面板或某管理后台)的Ubuntu非常方便,省去手动输入地址。
5. 常见问题与排查技巧实录
5.1 扫描不到Ubuntu,先检查这5个方向
| 现象 | 常见原因 | 验证/解决方法 |
|---|---|---|
| 扫描列表里完全没有目标机器 | 两台主机不在同一个VLAN或子网 | 先确认Windows和Ubuntu是否连在同一个交换机/路由器下;跨网段用多个IP范围扫 |
| 只有部分设备在线,Ubuntu明确开着的却扫不到 | Ubuntu防火墙禁Ping且SSH在其他高位端口 | 临时允许ICMP或改用路由器DHCP列表对照 |
| 无线网络下所有设备都扫不到 | 路由器开启了AP隔离 | 关闭AP隔离或用有线方式接入同一交换机 |
| 扫描结果里有设备但状态为Down | 该地址当前没人在线,IP冲突或设备关机 | 重启目标设备,再扫一次 |
| 扫到了但无法SSH连接 | openssh-server未安装或服务未启动 | 先接显示器装好ssh服务;或检查系统防火墙对22端口的放行规则 |
| 目标MAC显示Unknown | 网卡厂商OUI不在工具数据库 | 忽略厂商名,以端口22为主判断依据 |
第2条是我最常遇到的:有些Ubuntu默认防火墙规则没有放行22端口,而某些自定义裸机镜像又会屏蔽ICMP探包。扫描器没有收到回应,自然不显示。这种情况补一个方向:去路由器DHCP客户端列表里看有没有一个设备名以ubuntu开头的租约,两条信息交叉验证。
5.2 为什么扫到了却连接失败
扫描显示端口22开放,但SSH连接被拒绝,这种情况多半不是网络问题,而是SSH服务本身的状态问题。我遇到过几种情形:
- openssh-server根本没有安装。Ubuntu Server版默认会装,但Desktop版需要手动执行sudo apt install openssh-server。扫描器看到的22端口其实是空的。
- SSH服务没启动。systemctl status ssh先看服务状态,systemctl enable --now ssh设为开机自启。
- 系统防火墙拦了22端口。ufw status检查防火墙规则,有需要的执行sudo ufw allow OpenSSH放行。
- SSH配置禁止密码登录。如果sshd_config里设置了PasswordAuthentication no,必须改用密钥方式连接。
连接失败时先扫描确认端口开没开——如果端口开着,问题聚焦到SSH配置上;如果端口没开,直接去Ubuntu本机检查服务。这一步已经能把排查范围缩小一半。
5.3 扫描速度慢或者结果不全的进阶手段
如果扫描一个大的IP范围觉得速度太慢,可以把范围拆成几个小段并行扫描。例如192.168.1.1-192.168.1.63、64-127、128-191、192-254分别扫,每个范围秒级完成,结果合并分析即可。
如果扫描结果一直缺失某台确定在线的机器,可以用命令行工具交叉验证。Windows下arp -a会显示本机ARP缓存表里最近通信过的所有IP和MAC,这些MAC可以与Advanced IP Scanner的结果做比对,找出扫描器漏掉的条目。用nmap也可以:
nmap -sn 192.168.1.0/24-sn参数做纯Ping扫描,不探测端口,速度比完整扫描更快,适合快速确认设备是否在线。Advanced IP Scanner主打图形界面和快速易用,而nmap更适合脚本化和深度探测,两者互补。
还有一个操作细节:如果扫描过程中发现结果列表一直在刷新,但某个目标迟迟不出现,等完整扫描结束再点击“扫描”按钮旁边的小箭头重新单独扫描该IP即可。单独探测比整段扫描快得多,适合快速复核。点击工具界面上的“命令”按钮,还可以直接执行远程命令操作,但这个功能默认不启用,需要先用管理员权限关闭UAC限制,日常用得不多,了解即可。
5.4 关于“已检测但未管理”状态的补充经验
有时扫描结果会把某些网络打印机、智能设备、交换机管理口标记为“已检测但未管理”。这类设备在线但没有任何可响应的远程管理协议端口。针对Ubuntu,不太会遇到这个情况,因为至少SSH端口应该存在。
真遇到了,先确认是不是OpenSSH还没装,或者系统防火墙不允许远程访问。如果设备本身是虚拟机的Ubuntu,网络里多网卡也会让扫描范围判定产生误导,建议把不用的虚拟网卡禁用,减少干扰。之前处理一个案例,同事报告一台Ubuntu有时扫得到有时扫不到,最后定位是网卡桥接模式和NAT模式切换导致IP地址归属不同网段,通过统一网络模式解决了。
6. 为什么我一直留着这个工具的几点心得
回头看,Advanced IP Scanner之所以能一直留在我的U盘和Windows机器里,不是因为它的扫描原理有多深奥,而是它把一个非常基础但高频的需求——快速了解局域网设备分布,做到了又快又直观。对Ubuntu使用者来说,它的意义不只是“找出IP”,而是连接了“这台机器在哪里”“它在开什么服务”“我要怎么连过去”这一整条链路。
我个人在实际操作中的体会是:遇到复杂的网络问题时,先扫一遍总比空想排查强。扫描结果里的MAC、端口、主机名可以不只当作确认身份的依据,还能用来发现局域网里有没有可疑设备、有没有忘关的端口,顺手就能做的安全检查。几个设备共用一个交换机的时候,多扫几次还能发现IP分配规律,为后续规划静态IP提供参考。
最后分享一个小技巧:扫描后把结果导出保存一份,隔几天再扫一次,对比两次列表就能快速发现哪些设备下线了、哪些新设备上线了。对一些不够规范、没有设备台账的现场来说,这个“存档-对比”的习惯比任何监控系统都直接。配合一个简单命名规则记录设备用途,时间长了,你对自己所处局域网的整体状况会比看任何文档都更有把握。