准确判断本机所属网段需用ipconfig获取IPv4地址和子网掩码后执行按位与运算得出网络地址,如192.168.3.15 & 255.255.255.0 = 192.168.3.0/24;仅比对IP前几段仅在掩码为255.255.255.0时有效,其他情况必须计算。

直接看 ipconfig 输出的 IPv4 地址和子网掩码,再做一次按位与运算,就能准确知道本机所属网段——只看 IP 前三段是否相同,只在掩码是 255.255.255.0 时才可靠;其他掩码下必须算,否则大概率误判。
怎么看本机局域网IP和子网掩码
这是所有判断的前提,漏掉或抄错任意一位都会导致后续全错。
- 按
Win + R,输入cmd回车,进命令行 - 执行
ipconfig,找到你正在用的适配器(比如「无线局域网适配器 WLAN」) - 重点只记两行:
IPv4 地址和子网掩码,例如:IPv4 地址 . . . . . . . . . . . : 192.168.3.15子网掩码 . . . . . . . . . . . : 255.255.255.0 - ⚠️常见错误:把
255.255.0.0看成255.255.255.0,或小数点后多写/少写一个零(如255.255.255.00)
怎么算出本机IP所属完整网段
网段不是“看起来像的一串数字”,而是由 IP & 子网掩码 运算得出的网络地址 + 掩码长度,例如 192.168.3.0/24。
- 手动速算(仅限掩码为
255.255.255.0、255.255.0.0、255.0.0.0):
→ 掩码含几个255,就把 IP 对应位置保留,后面全置0:192.168.3.15&255.255.255.0→192.168.3.010.20.30.40&255.255.0.0→10.20.0.0 - 通用硬算(推荐):用 Windows 自带的计算器切换到「程序员」模式,输入 IP 和掩码的十进制值,转二进制后逐位
AND,再转回十进制 - PowerShell 一行命令自动算(管理员权限运行):
Get-NetIPAddress -AddressFamily IPv4 | Where-Object {$_.PrefixOrigin -eq 'Dhcp' -or $_.PrefixOrigin -eq 'Manual'} | ForEach-Object { $ip=$_.IpAddress; $mask=[System.Net.IPAddress]::Parse($_.PrefixLength); $bytes=$mask.GetAddressBytes(); [Array]::Reverse($bytes); $maskInt=[System.BitConverter]::ToUInt32($bytes,0); $ipInt=[System.BitConverter]::ToUInt32([System.Net.IPAddress]::Parse($ip).GetAddressBytes(),0); $netInt=$ipInt -band $maskInt; $netAddr=[System.Net.IPAddress]::Parse([System.BitConverter]::GetBytes($netInt)).ToString(); Write-Host "$ip / $($_.PrefixLength) → 网段: $netAddr/$(($_.PrefixLength))" }
怎么判断两个IP是否在同一网段
不能只比 IP 前几段,也不能假设掩码一样——两台设备的 子网掩码 必须都拿到,分别算出各自的网络地址,再对比是否完全相等。
- 错误做法:
→ “都是192.168.1.x,肯定同网段”(错,若一台掩码是255.255.255.0,另一台是255.255.0.0,网络地址分别是192.168.1.0和192.168.0.0)
→ “ping 不通=不在同一网段”(错,可能是防火墙拦截 ICMP,或网络发现关闭) - 正确流程:
① 分别在两台电脑上运行ipconfig,记下各自的IPv4 地址和子网掩码
② 各自算出网络地址(用计算器或 PowerShell)
③ 两个网络地址字符串完全一致才算同网段 - 举例:
192.168.3.15/255.255.255.0→ 网络地址192.168.3.0192.168.3.22/255.255.255.0→ 网络地址192.168.3.0✅192.168.4.10/255.255.255.0→ 网络地址192.168.4.0❌
为什么 ping 通了也不代表一定同网段
因为 ping 成功只说明三层可达,不验证网段逻辑;而网段判断是纯数学计算,和通信结果无关。
-
ping成功可能是因为:对方开了路由转发、启用了代理 ARP、或中间有 NAT 设备做了透明映射 -
ping失败更不能反推网段关系:Windows 默认禁用 ICMP 入站(防火墙规则文件和打印机共享(回显请求 - ICMPv4-In)未启用),或组策略禁用了网络发现 - 真正要验证网段归属,唯一可靠方式就是拿到双方的
IPv4 地址和子网掩码,各自算网络地址,再比对
最常被忽略的是:不同设备的子网掩码可能不一致。很多人查完自己电脑的 ipconfig 就默认对方也一样,结果算出来的网段全是错的。务必亲自确认对方的掩码,而不是“应该也是 255.255.255.0”。










