服务器测评网
我们一直在努力

Linux下如何查看局域网内所有设备的IP和MAC地址?

在Linux系统中,查看局域网信息是网络管理和故障排查的基础操作,通过多种命令工具,用户可以轻松获取局域网内的IP地址分配、MAC地址对应、在线主机状态及网络设备信息等关键数据,以下将详细介绍几种常用的方法及其应用场景,帮助用户高效掌握局域网状态。

使用 ip 命令查看网络接口与IP信息

ip 命令是Linux系统中功能强大的网络配置工具,替代了传统的ifconfig命令,通过ip addrip a,可以快速查看本机的网络接口信息,包括IP地址、子网掩码、MAC地址等。

执行ip addr show会列出所有网络接口的详细信息,其中eth0ens33通常代表有线网卡,wlan0代表无线网卡,在输出结果中,inet字段对应IPv4地址(如168.1.100/24),ether字段是MAC地址(如00:1c:23:45:67:89),若需快速获取当前活动的IP地址,可使用ip addr show eth0 | grep "inet" | awk '{print $2}',仅提取目标接口的IPv4地址及子网掩码。

ip route命令用于查看路由表信息,通过default via字段可定位局域网的网关地址(如168.1.1),这是判断局域网通信路径的重要依据。

通过 arp 命令查看局域网主机MAC地址

地址解析协议(ARP)负责将IP地址映射为MAC地址,arp命令可查看本地ARP缓存中记录的局域网主机信息,执行arp -a会显示所有接口的ARP表,包括IP地址、MAC地址、网卡类型及记录类型(动态/静态)。

输出结果中的168.1.101 at 00:1b:44:11:3a:b7 (eth0)表示IP地址168.1.101对应的MAC地址是00:1b:44:11:3a:b7,若需快速查看特定IP的MAC地址,可使用arp -n 192.168.1.1-n选项禁止域名解析,提高查询速度),需要注意的是,ARP记录具有时效性,动态记录通常在超时后自动删除,若需长期绑定,可通过arp -s命令添加静态条目。

利用 pingnmap 扫描在线主机

确认局域网内在线主机是网络排查的第一步。ping命令通过发送ICMP回显请求,测试目标主机的连通性。ping -c 4 192.168.1.1向网关发送4个数据包,通过time=字段判断延迟,ttl=值可初步推测目标主机的操作系统(Windows默认TTL为128,Linux多为64)。

若需批量扫描局域网内的在线主机,nmap是更专业的工具,安装后,执行nmap -sn 192.168.1.0/24对整个子网进行主机发现(-sn表示跳过端口扫描,仅主机发现),输出结果会列出在线主机的IP地址、MAC地址及厂商信息(如MAC Address: 00:1C:23:45:67:89 (Dell Inc.))。nmap -A 192.168.1.101可对目标主机进行详细扫描,包括端口开放状态、服务类型及操作系统检测。

使用 netstatss 分析网络连接状态

netstatss命令用于查看本机的网络连接状态,包括监听端口、已建立的连接及进程ID。netstat -tuln显示所有TCP/UDP端口及监听状态(-tTCP、-uUDP、-l仅监听、-n禁止域名解析),例如0.0.0:22表示SSH服务监听所有接口。

ssnetstat的替代工具,性能更优,执行ss -tulnp可获取更详细的连接信息,包括进程名(如nginx:80),若需查看局域网内与本机通信的主机,可结合grep过滤,如ss -an | grep 192.168.1. | awk '{print $5}' | cut -d: -f1 | sort -u,提取所有与168.1.0/24网段通信的IP地址。

通过 lsof 查看网络进程详情

lsof(list open files)命令可查看进程打开的文件、网络连接等资源,执行lsof -i :80显示占用80端口的进程信息(如nginx 1234 root 3u IPv4 12345 0t0 TCP *:http (LISTEN)),若需查看某进程的所有网络连接,可使用lsof -p <PID>,其中<PID>为进程ID。

排查局域网内异常连接时,可通过lsof -i 192.168.1.101查看与目标主机168.1.101的所有通信进程,帮助识别可疑程序或未授权访问。

结合 ethtool 检查网卡物理状态

若局域网通信异常,可能涉及网卡硬件问题。ethtool命令可查看网卡的链路状态、速率、双工模式等参数,执行ethtool eth0显示详细信息,其中Speed字段为连接速率(如1000Mb/s),Duplex为双工模式(Full表示全双工),Link detected: yes表示物理链路正常。

若发现Link detected: no,需检查网线、交换机等物理连接,或使用ethtool -s eth0 speed 100 duplex full autoneg off手动配置网卡参数(需确保与对端设备一致)。

使用 iwconfig 管理无线局域网信息

对于无线局域网(Wi-Fi),iwconfig命令可替代ifconfig查看无线网卡状态,执行iwconfig wlan0显示接口名称、MAC地址、ESSID(网络名称)、比特率及信号强度(如Signal level=-65 dBm),若需扫描周围Wi-Fi热点,可使用iwlist wlan0 scan,输出包含信道、加密方式(如WPA2)、信号强度等信息。

iwpriv命令可查看无线网卡的扩展参数,如iwpriv wlan0 get_power查看电源管理状态,帮助优化无线连接稳定性。

Linux系统提供了丰富的命令工具用于查看局域网信息,从基础的iparp到专业的nmapethtool,可根据不同需求灵活选择,掌握这些工具不仅能快速定位网络故障,还能有效管理局域内设备,在实际操作中,建议结合多个命令结果综合分析,例如通过nmap发现在线主机后,用arp确认MAC地址,再通过ss检查连接状态,以全面掌握局域网运行状况。

赞(0)
未经允许不得转载:好主机测评网 » Linux下如何查看局域网内所有设备的IP和MAC地址?