你有没有遇到过这种情况同事发来一串地址让你访问你张口想问自己电脑的IP是多少却愣是说不出来。或者公司IT让你把IP发过去你打开设置翻半天找不到。这种事看着小卡住的时候是真麻烦。我自己平时要折腾虚拟机、局域网共享、还有各种开发环境查IP几乎是每天的家常便饭。Windows、macOS、Linux三套系统来回切说实话每个系统都有自己的坑比如Windows上明明网连着却找不到IPv4macOS上ifconfig输出密密麻麻看不懂Linux更是有新旧两套命令容易记混。所以干脆把这三个系统的查法从头到尾捋一遍顺便把内网IP、外网IP、IPv4和IPv6这些容易含糊的概念也讲清楚。这篇文章适合所有需要查看自己电脑IP地址的人不管你是刚接触电脑的新手还是经常要处理网络问题的老手都能在里面找到自己能用的方法。我会按系统分开讲每个系统都给出命令行和图形界面两种方案最后再补充一些关于IP地址本身的实用知识。1. Windows系统查IP的几种实用方法Windows查IP的方法其实不止一种我平时用得最多的是命令行因为快而且能看到的信息最全。但考虑到有人不习惯用命令行图形界面我也会一并说清楚。1.1 用ipconfig命令快速查看IP这是Windows上最基础的命令没有之一。按下Win R组合键在弹出的运行窗口里输入cmd然后回车或者直接在开始菜单搜索“cmd”打开命令提示符。在黑色的命令行窗口里输入ipconfig然后回车你会看到一大堆输出。不用慌重点看“以太网适配器”或“无线局域网适配器”这两块下面有一行写着“IPv4 地址”的就是你的IP地址。稍微展开一下ipconfig这个命令的输出里通常包含这么几项IPv4 地址就是我们最常用的IP地址格式是四组数字用点隔开。子网掩码用来区分网络部分和主机部分一般家用网络都是255.255.255.0。默认网关这个很重要它是你访问外网要经过的“大门”通常也是你路由器的管理地址。如果你只想看IP地址本身不想看那一大堆文字可以加个后缀ipconfig | findstr IPv4这样屏幕上就只会列出所有的IPv4地址行干净利落。这个方法在输出特别长的时候很好用比如你电脑上装了虚拟机软件会有好几个虚拟网卡输出能翻好几页。1.2 ipconfig /all详解为什么你看到的不止一个IP前面说的ipconfig是精简版如果你需要更详细的信息那就用ipconfig /all。这个命令会把每个网卡的详细信息全部列出来包括物理地址也就是MAC地址DHCP是否启用DNS服务器地址租约获取和过期时间很多人第一次用ipconfig会疑惑为什么我的电脑上有好几个IP地址这里解释一下原理。你的电脑可能存在多个网络接口比如有线网卡、无线网卡还有可能装了VMware或VirtualBox这类虚拟机软件它们会虚拟出额外的网卡。每一个网卡都可以有自己的IP地址。另外如果你同时开了IPv4和IPv6还会看到两类地址。有个细节很有意思Windows上每个网卡还能设置多个IP地址。比如服务器上常见的做法是同一块网卡绑定好几个IP这样一台服务器就能同时提供多个独立IP的服务。你如果在ipconfig输出里看到同一个网卡下面有好几个IPv4地址那多半是做了这样的配置。1.3 图形界面查看适合不习惯命令行的用户说实话在Windows 10和Windows 11上图形界面看IP的路径改了好几次经常有人找不到地方。Windows 11的操作路径是这样右键点击任务栏右侧的网络图标选择“网络和Internet设置”。点击“高级网络设置”。点击“硬件和连接属性”。在列表里找到你正在用的网络连接比如“以太网”或“Wi-Fi”下面就会显示IPv4地址、IPv6地址、DNS服务器等信息。Windows 10稍微不同是“设置” - “网络和Internet” - “状态” - “查看你的网络属性”然后在列表里找。用是能用但步骤确实绕不如命令行一条命令来得直接。1.4 局域网IP和远程IP的区别别被“IP”这个词搞晕在Windows下查IP有一个概念特别容易混淆那就是“局域网IP”和“公网IP”。ipconfig查出来的是你的局域网IP也叫内网IP、私有IP。这个地址是路由器分配给你的一般在192.168.x.x、10.x.x.x或172.16.x.x到172.31.x.x这些网段内。这个IP只在你的局域网内有效别的网络里的设备没法直接通过这个IP访问你。如果你想让别人从互联网上访问你的电脑比如搭了个网站给朋友看那你需要的是公网IP。查公网IP的方法很简单在浏览器里访问一些查询网站就能看到比如访问ip.sb或者在命令行里用curl ifconfig.me它返回的地址就是你当前的公网IP。不过要注意家庭宽带大多数情况下是动态公网IP过一段时间可能会变而且很多运营商现在默认不给公网IPv4了给的是大内网地址这个后面再细说。2. macOS系统查IP的完整操作macOS和Windows的底层不一样命令也不一样刚开始从Windows转过来的朋友可能会在终端里习惯性输入ipconfig结果提示命令不存在。macOS里和ipconfig对应的命令是ifconfig但它的输出格式更“Unix风”需要适应一下。2.1 终端命令ifconfig的正确打开方式打开macOS的“终端”应用——你可以在“聚焦搜索”里输入“终端”或者从“启动台”的“其他”文件夹里打开。输入ifconfig然后回车屏幕上会出现一大片输出看起来比Windows还要乱因为macOS把所有网络接口都列出来了包括en0、en1、lo0、awdl0、utun0这些。其中你需要关注的是en0这通常是你的Wi-Fi网卡某些型号的Mac上en0是以太网口en1才是Wi-Fi不确定的时候可以用下面的方法确认。在en0那一块里找到inet开头的一行后面跟着的地址就是你的IP地址。ifconfig的输出里除了inetIPv4地址还有inet6IPv6地址和etherMAC地址。注意别把inet6当成普通IP去用了虽然它也是IP但绝大多数日常场景你只需要IPv4就行。如果你觉得输出太杂可以用这个命令过滤一下ifconfig en0 | grep inet这样只显示en0接口上和IP相关的行清爽很多。2.2 判断哪个才是你的主网卡macOS上判断主网卡是个小坑。因为输出里接口太多en0和en1在不同机型上对应的网卡类型可能不同有人在这一步会卡住。有一个简单的方法。按住Option键点击菜单栏的Wi-Fi图标展开的菜单里就能看到当前连接的网络信息包括IP地址、路由器和子网掩码同时也会显示你的Wi-Fi硬件地址也就是MAC地址。把MAC地址记下来再去ifconfig输出里找对应的ether地址就能确认哪个是en0。不过还有个更省事的方法直接用这条命令ipconfig getifaddr en0如果输出是空的说明en0不是你的主网卡换成en1再试一次。这条命令只返回一个IP地址没有多余内容最直观。2.3 系统设置里查看IP的操作路径macOS同样保留着图形界面的查看方式路径也比较稳定打开“系统设置”旧版本叫“系统偏好设置”。点击“网络”。在左侧列表选择你正在使用的网络服务比如“Wi-Fi”或“以太网”。窗口里会显示IP地址、子网掩码、路由器等信息如果你的网络是动态获取的这里还会显示“使用DHCP”等字样。需要注意的是如果左侧列表里网络服务前面有红点或黄点说明这个服务当前没连上或有问题显示的IP可能不是有效地址。2.4 更现代化的ip命令macOS也支持macOS虽然是Unix系统但它和Linux的命令集并不完全一样。不过新版macOS其实也自带了ip命令只是功能上不如Linux完整。你可以试一下ip addr show如果这条命令能用输出会更清晰因为它是按网卡分组的阅读体验比ifconfig好不少。但如果提示command not found那就老老实实继续用ifconfig不要在没装工具的情况下硬折腾。3. Linux系统查IP的方法与命令对比Linux查IP的方法是我日常用得最多的因为工作环境里服务器基本都是Linux。这个系统的命令行工具经历过一次换代老管理员习惯用ifconfig新工具则是ip命令两个都讲讲因为你在不同的服务器上可能遇到不同环境。3.1 ip addr命令新一代标准用法现在绝大多数现代Linux发行版包括Ubuntu、Debian、CentOS、Rocky Linux等都内置了iproute2这套工具里面的核心命令就是ip。查看IP地址的标准用法是ip addr show或者简写成ip addr还有一种更常见的缩写是ip a三种写法效果一样喜欢哪个用哪个。输出会按网卡分组比如lo回环接口、ens33、eth0等。每个网卡下面都有inet和inet6字段inet后面的就是IPv4地址。你会发现现代Linux的网卡命名很有规律不再是老式的eth0、eth1而是像ens33、enp0s3、ens160这样的名字。这是systemd引入的“可预测网络接口名”里面字母和数字带有硬件总线信息。刚开始看会觉得不习惯但用多了就发现它比eth0这种名称更稳定不会因为硬件变化导致接口名乱跳。3.2 老牌命令ifconfig兼容性很强但可能没装ifconfig是传统的Linux网络配置命令属于net-tools工具包。问题在于现在很多发行版不再默认安装net-tools了所以你在新装的Ubuntu服务器上输入ifconfig很可能会看到command not found。如果遇到这种情况你可以安装它sudo apt install net-toolsDebian和Ubuntu系用aptCentOS和Rocky等用yum或dnfsudo dnf install net-tools装好之后ifconfig就能用了命令输出和macOS上很相似同样是找inet那一行。我个人建议是会用ip命令就够了ifconfig作为备用手段了解即可。ip命令的信息更丰富而且性能更好在网卡数量很多的服务器上差距更明显。3.3 hostname -I一条最简单的命令如果你只想快速拿到本机的IP地址不关心接口名、不关心子网掩码那Linux上有条命令比ip addr还省事hostname -I注意是大写的I。它会直接输出当前主机的所有IPv4地址用空格分隔。这个命令在脚本里非常好用因为输出格式固定不会掺杂别的内容。还有一个类似的命令hostname -i小写i只会显示一个IP通常是127.0.0.1也就是回环地址这代表的是“本机自己”不是局域网地址所以在大多数场景下我们用的是大写-I。3.4 图形界面查IP桌面版Linux用户的选择Linux的桌面发行版同样提供了图形界面的查看方式但不同桌面环境路径不一样。UbuntuGNOME桌面的操作路径是点击右上角的网络图标。选择“有线设置”或“Wi-Fi设置”。点击当前连接旁边的齿轮图标。在弹出的窗口里就能看到IPv4地址、默认路由等信息。如果你用的是KDE桌面路径大概是系统设置 - 网络 - 当前连接 - 详细信息。其他桌面环境也大同小异本质都是找到“网络设置”里的“连接信息”或“详细信息”。3.5 SUSE系统的特殊之处YaST图形化查询热搜词里有人专门问“SUSE图形界面如何查询IP地址”这里单独说一下。SUSE企业版系统有自己的管理工具YaST查询IP的路径和普通桌面Linux不太一样。在SUSE上你可以打开YaST控制中心选择“系统” - “网络设置”或者直接运行命令sudo yast2 lan在打开的界面里选择“地址”选项卡就能看到当前网卡的IP地址、子网掩码等配置。SUSE的网络管理比较独特它默认使用wicked而不是NetworkManager当然新版也支持NetworkManager所以配置文件路径和命令都不太一样。补充一个实用技巧在SUSE上查看IP地址还可以用ip addr show eth0把eth0替换成你的实际网卡名。至于用什么命令查网卡名可以看ip link的输出就能列出所有网络接口名称。4. 搞懂IP地址本身内网、外网、IPv4与IPv6查完IP地址很多人会有个更深层的疑问我查到的这个地址到底是什么为什么有时候和别人在同一个Wi-Fi下查到的IP开头是一样的这一节把IP地址本身讲透。4.1 内网IP和外网IP的本质区别先说结论你在电脑上查到的大多数IP地址都是内网IP也叫私有IP地址。这些地址有固定的几个网段分别是10.0.0.0-10.255.255.255172.16.0.0-172.31.255.255192.168.0.0-192.168.255.255这几个网段被全球统一约定为“私有地址”含义是这些IP只能在内网里用不会直接出现在公网上。你家路由器、公司路由器就是通过NAT网络地址转换技术把这些内网IP统一映射成一个公网IP去访问互联网。举个生活化的例子内网IP相当于你在小区里的门牌号比如“3栋202”这个地址只有小区里的人能看懂而公网IP相当于你家的收件地址是全世界通用的。快递员来找你需要的是收件地址而不是“3栋202”。所以如果你想从互联网访问家里的一台电脑光知道它的内网IP没用你需要公网IP加路由器上的端口转发设置路由器的转发规则会把特定的流量送回内网对应设备上。4.2 为什么有时候找不到IPv4地址这个情况我在Windows上遇到过几次。明明Wi-Fi图标显示已连接打开浏览器也能上网但用ipconfig查IPv4地址却是空白或者显示一些奇怪的地址比如169.254.x.x。169.254.x.x这个段是“自动专用IP地址”。当电脑设置了DHCP自动获取IP但迟迟得不到DHCP服务器的响应时系统就会给自己分配一个169.254.x.x的临时地址。专业上叫APIPA防止网络设备因为没有IP而完全不可用。出现这种情况一般说明路由器的DHCP功能异常或者网线有问题电脑根本没能和路由器正常通信。还有一种情况是有的网卡显示“未识别的网络”IPv4地址显示成169.254.x.x但网络确实能上网。这通常是网卡没有正确设置DNS或网关导致的也可能是路由器没有下发完整的网络参数。排查思路一般是先检查网线、路由器重启再手动指定IP或DNS试一下。4.3 IPv4地址耗尽与IPv6为什么现在很多设备有IPv6地址说到IP地址绕不开的话题就是IPv4地址耗尽。IPv4地址总量约43亿个这个数量在互联网早期看起来够用但现在全球设备数量远超这个数地址早就分配完了。为了应对这个问题业界推出了IPv6地址长度为128位数量大到几乎不可能耗尽。现在的操作系统和网络设备默认都支持IPv6所以你在ipconfig或ifconfig里能看到inet6或IPv6地址这很正常。对普通用户来说IPv6暂时不需要过多关注日常上网、玩游戏、访问网站IPv4依然够用。但在配置网络时注意一点如果路由器或设备没有正确配置IPv6有时候会影响某些应用的加载速度因为系统可能优先尝试IPv6连接超时后再回退到IPv4这个过程会让人感觉“网页打开慢了半拍”。4.4 静态IP和动态IPDHCP是幕后功臣你的电脑打开就能上网不用手动设置任何网络参数这一切要归功于DHCP协议。DHCP的全称是“动态主机配置协议”它做的事就是你的电脑开机后自动向网络里喊一声“我需要一个IP地址”路由器听到后就会从地址池里挑一个空闲地址分给你同时还告诉你网关和DNS怎么填。这个分配过程叫“租约”不是永久的。租约到期后如果电脑还在线会续租如果下线了地址就回收可以分给别的设备。所以你会发现今天电脑的IP是192.168.1.100明天重启后可能变成了192.168.1.101。如果需要固定的IP通常有两种方案一种是在路由器后台的DHCP设置里做“静态地址分配”就是把某个IP地址绑定到你的网卡MAC地址上每次这个MAC来要地址路由器都会分给它同一个IP另一种是直接在电脑网卡设置里手动填写静态IP但要注意手写IP需要同时填子网掩码、网关和DNS一个填错就上不了网而且手动IP不能和DHCP分配出来的地址冲突否则网络会出问题。5. 常见场景实战从查IP到解决实际问题单纯学会查IP还不算完现实中很多场景需要把查IP和解决实际问题结合起来。这一节挑几个最常见的操作场景把完整流程演示一遍。5.1 如何查看打印机的IP地址热搜词里提到“如何查找打印机的IP地址”这里补充一下具体的操作流程。打印机查找IP最常见的方法是直接看打印机面板很多带显示屏的打印机在“设置”或“网络”菜单里就能找到IP信息。如果没有显示屏也不用慌还有几个办法按打印机上特定的按钮组合打印出网络配置页。不同品牌的按键不一样常见的是长按“取消”键5秒或者按住“WPS”键详细信息可以搜一下你的打印机型号对应的操作方式。在电脑上查看打印机端口。进入“控制面板” - “设备和打印机”右键打印机图标选择“打印机属性”切到“端口”选项卡能看到当前打印机使用的端口端口列里如果有IP地址那就是打印机的IP。还有一个技巧是如果你的电脑装了打印机管理软件比如惠普的HP Smart或者爱普生的Epson Config在主界面里通常直接显示打印机的IP地址。5.2 网络不通时怎么用IP信息快速定位问题网络出问题了翻来覆去折腾很浪费时间。我一般按这个顺序排查效率很高先看自己电脑的IP是否正常。用对应的命令查一下本机IP如果是169.254.x.x基本可以断定是DHCP出问题试着重启路由器或者检查网线。如果IP正常再看网关通不通以Windows为例ping 192.168.1.1把网关地址换成你ipconfig里查到的“默认网关”。如果网关不通问题大概率出在家里路由器或电脑与路由器之间的链路。如果网关通了再试试外网连通性可以ping一个公网地址注意现在有些网站禁ping可以用ping 223.5.5.5阿里DNS或者ping 8.8.8.8来测试。如果你能ping通8.8.8.8但上不了网多半是DNS解析的问题用nslookup baidu.com查一下解析是否正常。这套流程的核心思路是分段定位本机IP - 网关 - 外网连通性 - DNS哪一段不通就重点排查哪一段。5.3 多网卡多IP环境下如何确认当前使用的是哪个地址开发人员经常会遇到多网卡的情况笔记本同时开着Wi-Fi和有线网络或者装了Docker、虚拟机软件导致网卡很多这时候会出现一个疑问我现在上网到底走的是哪个网卡哪个IP是对外通信的IP判断方法不复杂。Windows上用route print命令macOS和Linux上用route -n或ip route查看系统路由表。默认路由通常是目的地址0.0.0.0或default的那一行所指向的接口就是当前上网的出口网卡。以Linux为例ip route如果输出里有一行default via 192.168.1.1 dev ens33那就说明默认流量走的是ens33网卡。这个网卡的IP才是你对外通信用到的地址其他网卡的IP往往只用于特定网段的通信。5.4 修改静态IP时的Dos和Donts有时候光查IP不够还得手动改IP。这里给几个必须避免的坑第一别把IP设成和路由器DHCP地址池冲突的地址。比如路由器DHCP地址池是192.168.1.100到192.168.1.200你手动设成192.168.1.150就可能和动态分配出来的设备撞车导致网络时好时坏。第二子网掩码、网关和DNS必须配套。最常见的组合是IP设为192.168.1.x、掩码255.255.255.0、网关192.168.1.1、DNS可以是192.168.1.1或者223.5.5.5这样的公共DNS。第三改完设置要生效Windows上可能需要重启网卡或者使用ipconfig /renew命令重新获取配置。改了静态IP后如果网络不通先用ipconfig /all确认设置是否生效再按上一小节的分段排查思路检查。5.5 动态域名与内网穿透当你需要让别人访问你的电脑自己电脑查到了IP如何让别人也能访问这其实是个进阶话题但和查IP关系紧密简单说几句。如果你只有内网IP而没公网IP别人从互联网上没法直接访问你需要一个中转。常见的方案是内网穿透工具它会在你电脑和云端服务器之间建立一条通道别人访问云端服务器的某个端口流量就会通过这条通道转到你电脑上的某个服务端口。这类工具的配置过程里通常也会要求你确认本机服务的IP和端口所以掌握查IP技能是基础。如果你的宽带确实有公网IP就可以考虑用动态域名解析DDNS。因为家庭宽带的公网IP经常变化把动态变化的公网IP绑定到一个固定域名上别人只要记住域名就能通过域名访问到你。这里的“动态”指的就是公网IP不固定需要客户端实时上报到DNS服务商去更新解析记录。6. 实操经验总结我踩过的坑和几条实用建议理论讲完最后分享一些这些年查IP过程中实际遇到的坑和总结出来的经验希望能帮你少走弯路。6.1 三个系统命令速查建议收藏这张表每次切换系统都容易记混命令我自己早期也是这样。后来做了个速查表放在手边随时翻这里直接共享出来。功能WindowsmacOSLinux查看IP地址ipconfigifconfig/ip addrip addr只看IPv4地址ipconfig | findstr IPv4ipconfig getifaddr en0hostname -I查看路由/网关route printnetstat -nrip route查询DNSnslookupnslookupdig或nslookup测试连通性pingpingping刷新DHCPipconfig /release ipconfig /renewsudo ipconfig set en0 DHCPsudo dhclient -r或sudo systemctl restart NetworkManager6.2 大内网环境下的真实情况查到的公网IP不一定是公网这个坑很多人遇过。家里宽带去查询网站看公网IP发现自己的公网IP和大家的一样或者打电话给运营商要公网IP被拒绝。这其实是运营商在做“大内网”或“CGNAT”就是运营商级别的大范围NAT把大量用户的流量汇聚到少量公网IP出口。判断自己是不是在大内网里有个方法对比你路由器的WAN口IP在路由器后台能查到和你在查询网站上看到的对外IP如果两个地址不一样或者你的WAN口IP是100.64.x.x到100.127.x.x这个特殊网段那基本可以确定运营商做了CGNAT。在这种环境下想从外网访问家里设备老老实实用内网穿透工具吧不用折腾端口转发了。6.3 命令掌握一点点排障省下的时间远超想象我强烈建议每个用手提电脑工作的人都稍微花点时间掌握这几个基础网络命令。不是说让你成为网络工程师而是因为网络问题太常见了能自己定位解决省下的等待时间远超学习成本。比如单位里打印机突然不能打印了你学会查IP、ping通不通基本能判断是打印机掉线还是电脑到打印机的链路出问题。比如网络慢你先ping网关延迟正常说明内网没问题再ping外网延迟高说明运营商出口或宽带线路有问题这些都能帮你和IT沟通时更有底气描述问题更准确。6.4 一个小技巧把IP信息做成桌面便签最后分享一个私藏的小技巧。我经常需要在几个不同的网络环境之间切换以前老是记不住当前网络环境下的IP和网关每次都要重新查一遍。后来我干脆把常用网络的IP配置信息用便签软件贴在桌面上内容包括网络名称、IP地址、网关、DNS以及备注。切换网络的时候扫一眼就知道自己该用什么配置省去了反复敲命令的麻烦。当然这只是应急办法最好的做法还是把常见的网络配置项记录下来形成一个自己的“网络环境配置清单”以后不管遇到什么网络问题先看清单再动手排查效率翻倍。
阅读完成 · 觉得有帮助?