怎么用cmd命令扫描局域网IP(查 IP 总记混命令开发运维必看的全平台解决方案)

怎么用cmd命令扫描局域网IP(查 IP 总记混命令开发运维必看的全平台解决方案)

admin 2025-10-27 主营业务 19 次浏览 0个评论
查 IP 总记混命令?开发 / 运维必看的全平台解决方案,5 分钟搞定

作为互联网软件开发人员,你是不是经常遇到这样的场景:要查服务器 IP,Linux 系统里敲ifconfig没反应,才想起得用ip a;切换到 Windows 电脑,又下意识输了 Linux 命令,折腾半天才换回ipconfig;偶尔用同事的 macOS,还得百度确认到底用ifconfig还是ipconfig?光是记不同系统的查询命令,就够占用不少工作时间,更别说遇到 “查了 IP 却连不上服务器” 的情况,还得额外排查是不是混淆了内网和外网 IP。

为什么查 IP 会成为开发 / 运维的 “小麻烦”?

其实,很多开发同行都被 IP 查询困扰过,核心原因主要有两点。一方面,不同操作系统的底层设计不同,导致 IP 查询命令不统一 ——Linux 和 macOS 基于 Unix 内核,早期都支持ifconfig,但后来 Linux 逐步用ip a替代,macOS 虽保留ifconfig,部分新系统版本也开始兼容ip命令;而 Windows 基于独立内核,一直沿用ipconfig,这就导致大家在多系统环境下工作时,很容易记混命令。

另一方面,内网 IP 和外网 IP 的用途差异,也让不少人踩过坑。内网 IP 是设备在局域网内的 “专属地址”,比如公司内网里的服务器 IP、家里路由器分配的电脑 IP,只能在局域网内访问;外网 IP 则是设备在互联网上的 “公共地址”,要远程连接云服务器、访问外部网站,必须用外网 IP。很多时候,大家查完内网 IP 就直接用来远程连接,自然会出现 “连不上” 的问题,本质上是没分清两种 IP 的适用场景。

3 类场景 + 全系统,IP 查询方案直接抄

针对不同系统和使用场景,我整理了一套能直接落地的 IP 查询方案,不管你用 Linux、macOS 还是 Windows,都能快速找到需要的 IP。

1. 单系统快速查询:命令直接复制用Linux 系统:优先用ip a,能显示所有网卡的 IP 信息(包括内网 IP),比如eth0网卡的inet 192.168.1.100/24就是内网 IP;如果想查外网 IP,直接用curl ifconfig.me,会返回当前设备的公网 IP,命令执行后 1 秒出结果,不用手动解析。macOS 系统:两种命令都能用,ifconfig或ipconfig getifaddr en0(en0是无线网卡,有线网卡一般是en1),能快速获取内网 IP;查外网 IP 同样用curl ifconfig.me,和 Linux 通用,不用额外记新命令。Windows 系统:打开 CMD 或 PowerShell,输入ipconfig,找到 “以太网适配器” 或 “无线局域网适配器” 下的 “IPv4 地址”,就是内网 IP;查外网 IP 可以用curl http://ifconfig.me,如果提示 “curl 不是内部命令”,直接打开浏览器访问ifconfig.me,页面会显示公网 IP。2. 跨平台脚本:一次编写,全系统通用

如果需要频繁在多系统间切换查 IP,写一个跨平台脚本更高效。我整理了 3 个版本的脚本,大家可以根据需求选择:

Python 简化版:不用安装额外依赖,Python 自带库就能运行,执行后会自动识别操作系统,输出内网和外网 IP。import platformimport requestsdef get_internal_ip(): os_type = platform.system() if os_type == "Linux" or os_type == "Darwin": import subprocess result = subprocess.check_output(["ip", "a"]).decode() for line in result.splitlines(): if "inet " in line and not "127.0.0.1" in line: return line.split()[1].split("/")[0] elif os_type == "Windows": import subprocess result = subprocess.check_output(["ipconfig"]).decode() for line in result.splitlines(): if "IPv4 Address" in line: return line.split(":")[-1].strip() return "未获取到内网IP"def get_external_ip(): try: return requests.get("https://ifconfig.me").text.strip() except: return "未获取到外网IP"if __name__ == "__main__": print(f"内网IP:{get_internal_ip()}") print(f"外网IP:{get_external_ip()}")PowerShell 版:适合 Windows 用户,支持一键运行,还能自动将 IP 结果保存到记事本。# 获取内网IP$internalIp = (Get-NetIPAddress | Where-Object { $_.AddressFamily -eq "IPv4" -and $_.IPAddress -notlike "127.*" }).IPAddress# 获取外网IP$externalIp = Invoke-RestMethod -Uri "https://ifconfig.me"# 输出并保存结果Write-Host "内网IP:$internalIp`n外网IP:$externalIp""内网IP:$internalIp`n外网IP:$externalIp" | Out-File -FilePath "IP查询结果.txt" -Encoding utf83. 特殊场景:VPN / 云服务器 IP 查询

如果用 VPN 工作,查 IP 时要注意区分 “VPN 内网 IP” 和 “本地内网 IP”——Linux/macOS 用ip a会显示 VPN 网卡(一般是tun0)的 IP,Windows 在ipconfig里找 “VPN 适配器” 对应的 IPv4 地址;连接云服务器(如阿里云、腾讯云)时,要查 “弹性公网 IP”(ECS 实例的公网地址),直接在云平台控制台的 “实例列表” 里就能看到,不用在服务器里查外网 IP,避免混淆。

3 个实用技巧,让 IP 查询更高效

除了基础方案,还有几个技巧能进一步提升 IP 查询效率,帮你少走弯路。

第一,把常用命令添加到 “别名”。Linux/macOS 用户可以编辑~/.bashrc或~/.zshrc,添加alias ipc='ip a'(查内网 IP)、alias ipe='curl ifconfig.me'(查外网 IP),保存后执行source ~/.bashrc,下次输入ipc或ipe就能快速查询;Windows 用户可以在 CMD 里用doskey ipc=ipconfig、doskey ipe=curl https://ifconfig.me,设置临时别名,也能减少命令输入时间。

第二,用工具替代手动查询。如果觉得命令行麻烦,开发常用的 “FinalShell”“Xshell” 等终端工具,连接服务器后会自动显示服务器 IP;本地电脑可以装 “Advanced IP Scanner”,扫描局域网内所有设备的 IP,不用逐个查询;另外,浏览器插件 “IP Address & Location” 也能一键显示当前设备的外网 IP 和地理位置,适合快速确认网络环境。

第三,做好 IP 记录和分类。建议建一个表格,记录常用服务器的 “内网 IP + 外网 IP + 用途”,比如 “192.168.1.200(内网)/120.XX.XX.XX(外网)- 测试环境 MySQL 服务器”,方便随时查阅;如果团队共用服务器,用 “飞书表格”“腾讯文档” 共享记录,还能避免多人重复查询、记混 IP 的问题。

总结:查 IP 不麻烦,找对方法是关键

其实,IP 查询本身并不复杂,之所以成为 “小麻烦”,主要是因为没理清 “系统命令差异” 和 “内网 / 外网 IP 用途” 这两个核心点。只要记住不同系统的基础命令,或者用跨平台脚本、工具简化操作,就能把查询时间从 “几分钟” 缩短到 “几十秒”。

作为开发 / 运维人员,高效处理这些基础工作,才能把更多时间放在核心业务上。你平时查 IP 时还遇到过哪些问题?是脚本运行报错,还是特殊网络环境下查不到 IP?欢迎在评论区分享你的经历,咱们一起交流更实用的解决方案;如果觉得这篇内容有用,也可以转发给团队同事,让大家都能少走弯路~

转载请注明来自海坡下载,本文标题:《怎么用cmd命令扫描局域网IP(查 IP 总记混命令开发运维必看的全平台解决方案)》

每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,19人围观)参与讨论

还没有评论,来说两句吧...