在Linux系统中,查看局域网内的IP地址是网络管理、故障排查和设备连接的基础操作,无论是系统管理员需要监控网络设备,还是普通用户需要找到路由器、打印机等设备的IP,掌握多种Linux下的局域网IP查看方法都十分必要,本文将详细介绍从基础到进阶的多种技巧,帮助用户根据实际需求选择合适的方案。

局域网IP查看的核心需求
局域网IP查看的核心在于快速、准确地识别网络中活跃设备的IP地址与MAC地址映射关系,这有助于判断设备在线状态、定位网络故障(如IP冲突)、发现未授权设备,或为后续的网络配置(如端口映射、访问控制)提供数据支持,Linux系统提供了多种命令行工具,支持从简单扫描到深度分析的不同场景,用户可根据网络规模、设备类型和权限灵活选择。
基础命令:快速扫描局域网设备
使用arp-scan主动扫描
arp-scan是一款通过发送ARP(地址解析协议)请求来主动发现局域网设备的工具,扫描速度快且结果详细,适合中小型网络。
安装方法:
- Ubuntu/Debian:
sudo apt install arp-scan - CentOS/RHEL:
sudo yum install arp-scan
基本用法:
sudo arp-scan --localnet
参数--localnet会自动识别本机所在网段(如192.168.1.0/24),并向网段内所有设备发送ARP请求,输出结果包含IP地址、MAC地址、设备厂商(通过MAC地址前缀查询)等信息,
Interface: eth0, MAC: 00:1a:2b:3c:4d:5e, IPv4: 192.168.1.101
Starting arp-scan 1.9.7 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.1.1 00:11:22:33:44:55 (Unknown)
192.168.1.105 aa:bb:cc:dd:ee:ff Apple, Inc.
192.168.1.200 12:34:56:78:9a:bc HUAWEI TECHNOLOGIES CO.,LTD.
技巧:若需指定网段扫描,可使用-r参数,如sudo arp-scan -r 192.168.1.0/24。
使用nmap全面扫描
nmap(Network Mapper)不仅是端口扫描工具,还支持主机发现功能,可通过多种协议(如ARP、ICMP、TCP SYN)扫描局域网设备,适合需要获取设备详细信息的场景。
安装方法:
- Ubuntu/Debian:
sudo apt install nmap - CentOS/RHEL:
sudo yum install nmap
基本用法:
nmap -sn 192.168.1.0/24
参数-sn表示“Ping扫描”,仅发现主机而不进行端口扫描,可快速获取在线设备的IP和MAC地址,输出示例:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-01 10:00 CST
Nmap scan report for 192.168.1.1
Host is up (0.0020s latency).
MAC Address: 00:11:22:33:44:55 (Router Vendor)
Nmap scan report for 192.168.1.105
Host is up (0.015s latency).
MAC Address: AA:BB:CC:DD:EE:FF (Apple, Inc.)
进阶技巧:结合-O参数可尝试识别操作系统,如nmap -sn -O 192.168.1.0/24。

使用netdiscover被动/主动扫描
netdiscover是一款专注于局域网主机发现的工具,支持主动扫描和被动监听两种模式,被动模式通过监听网络中的ARP请求,不主动发送数据包,隐蔽性更强,适合需要悄无声息监控网络的场景。
安装方法:
- Ubuntu/Debian:
sudo apt install netdiscover - CentOS/RHEL:需从EPEL源安装,
sudo yum install epel-release && sudo yum install netdiscover
主动扫描模式:
sudo netdiscover -i eth0 -r 192.168.1.0/24
参数-i指定网卡(如eth0),-r指定网段。
被动监听模式:
sudo netdiscover -i eth0 -p
被动模式下,工具会自动捕获本机网络接口收到的ARP请求,无需主动发送数据包,适合长期监控网络设备变化。
结合ping与arp命令(基础方法)
对于小型网络或临时查看,可结合ping和arp命令实现:
- 先通过
ifconfig或ip addr查看本机IP和网段,例如本机IP为168.1.101,子网掩码为255.255.0,则网段为168.1.0/24。 - 使用
ping命令广播网段(需开启ICMP响应):ping -b 192.168.1.255
参数
-b表示广播,向网段内所有设备发送ICMP请求(部分设备可能不响应广播)。 - 查看ARP缓存表,获取已响应设备的IP与MAC映射:
arp -a
输出示例:
? (192.168.1.1) at 00:11:22:33:44:55 [ether] on eth0 ? (192.168.1.105) at aa:bb:cc:dd:ee:ff [ether] on eth0注意:此方法依赖设备响应ICMP请求,对关闭ICMP响应的设备可能无效。
进阶技巧:自动化与精准定位
使用Shell脚本批量扫描
若需定期扫描或记录结果,可编写Shell脚本实现自动化,使用nmap扫描并保存结果到文件:

#!/bin/bash # 扫描192.168.1.0/24网段,保存在线设备信息到scan_results.txt timestamp=$(date +"%Y-%m-%d %H:%M:%S") echo "扫描时间: $timestamp" >> scan_results.txt nmap -sn 192.168.1.0/24 | grep "Nmap scan report\|MAC Address" >> scan_results.txt echo "------------------------" >> scan_results.txt
将脚本保存为scan_local.sh,赋予执行权限(chmod +x scan_local.sh),然后通过crontab设置定时任务(如每天凌晨2点扫描),即可实现自动化监控。
使用Python工具(Scapy)实现自定义扫描
对于需要更灵活控制的场景(如自定义ARP请求内容、过滤特定设备),可使用Python的Scapy库,编写脚本扫描网段并只显示特定厂商的设备:
from scapy.all import ARP, Ether, srp
def scan_network(network):
arp = ARP(pdst=network) # ARP请求目标网段
ether = Ether(dst="ff:ff:ff:ff:ff:ff") # 广播MAC地址
packet = ether / arp # 构造数据包
result = srp(packet, timeout=3, verbose=0)[0] # 发送并接收响应
print("在线设备列表:")
for sent, received in result:
print(f"IP: {received.psrc}\tMAC: {received.hwsrc}")
if __name__ == "__main__":
scan_network("192.168.1.0/24")
安装Scapy:pip install scapy,运行脚本即可输出网段内所有在线设备的IP和MAC。
结合日志分析实现长期监控
若需长期跟踪网络设备变化,可将扫描结果记录到日志文件,并通过grep或awk分析,使用arp-scan扫描并追加日志:
sudo arp-scan --localnet >> network_log.txt 2>&1
然后通过以下命令统计最近24小时内新上线设备:
grep "$(date -d '24 hours ago' '+%Y-%m-%d %H:%M')" network_log.txt | awk '{print $1}' | sort -u
常见问题排查:解决扫描中的疑难杂症
权限不足问题
部分工具(如arp-scan、nmap发送原始数据包)需要root权限执行,若提示“Permission denied”,需在命令前加sudo。
扫描结果不准确或设备遗漏
- 原因1:目标设备关闭了ARP响应或ICMP功能(如部分服务器、防火墙设备)。
解决:尝试使用nmap的-PU(UDP Ping)或-PE(ICMP Ping)参数,或改用被动扫描模式(如netdiscover -p)。 - 原因2:本机网卡未开启混杂模式(Promiscuous Mode),无法捕获非本机网段数据包。
解决:使用tcpdump开启混杂模式(sudo tcpdump -i eth0 -p),或确保网卡驱动支持混杂模式。
如何区分“在线”与“离线”设备?
- 单次扫描:通过
nmap -sn或arp-scan的结果中“Host is up”或直接响应的设备视为在线。 - 多次扫描验证:由于设备可能临时下线,建议间隔5-10分钟重复扫描2-3次,多次出现的设备确认为稳定在线。
选择适合你的方法
Linux查看局域网IP的方法多样,用户可根据需求选择:
- 快速扫描:
arp-scan(中小型网络)、nmap -sn(功能全面)。 - 隐蔽监控:
netdiscover -p(被动监听)。 - 基础临时查看:
ping+arp组合。 - 自动化与定制:Shell脚本或Python(Scapy)。
掌握这些工具和技巧,不仅能高效解决日常网络问题,还能为更复杂的网络管理(如设备监控、安全审计)打下基础,在实际使用中,需注意网络环境限制(如防火墙、设备配置),并结合多种方法交叉验证结果,确保准确性。



















