查本地IP:Windows用ipconfig,Linux/macOS用ifconfig或ip addr show;误用会报错或无输出,需按系统选择对应命令。

查本地IP用ipconfig还是ifconfig?别搞混系统
Windows 用户直接双击运行批处理脚本或在命令提示符里敲 ipconfig,就能看到 IPv4 和 IPv6 地址、子网掩码、默认网关等。Linux/macOS 用户得用 ifconfig(较新系统可能需装 net-tools)或更现代的 ip addr show。两者输出字段位置、缩写习惯不同,比如 Windows 的 “IPv4 Address” 对应 Linux 的 “inet”,而 “Default Gateway” 在 Linux 下是 “default via”。误用命令只会返回“不是内部或外部命令”或空结果。
常见错误现象:
- 在 Windows 上输
ifconfig报错 - 在 macOS 12+ 上输
ifconfig看不到 IPv6 地址(实际已移至ip命令)
实操建议:
- 写自动化脚本前先判断系统:
uname -s(Linux/macOS)或ver(Windows) - 优先用跨平台工具如
curl ifconfig.me查公网 IP,避免依赖本地命令差异
查公网IP时,ifconfig.me、icanhazip.com、api.ipify.org 怎么选?
这三个都是轻量 HTTP 接口,返回纯文本 IP,但稳定性与响应头行为有差异。例如 ifconfig.me 默认返回 IPv4,加 /ip6 路径才返回 IPv6;icanhazip.com 会根据请求头 Accept 自动协商,但不支持 HTTPS 重定向;api.ipify.org 支持 ?format=json,但免费版有 QPS 限制(约 1 次/秒)。
容易踩的坑:
- 脚本里硬编码
http://却在 HTTPS 页面里调用,被浏览器拦截(Mixed Content) - 用
curl -s http://icanhazip.com获取 IP 后直接拼进 SSH 连接串,结果遇到 IPv6 地址带方括号(如[2001:db8::1]),没做字符串清洗导致连接失败
实操建议:
- 生产环境首选
https://api.ipify.org(支持 HTTPS + JSON 格式 + IPv6 fallback) - 内网调试可用
curl -4 https://ifconfig.me强制 IPv4,避免双栈环境下取到意外的 IPv6
局域网扫描工具选 nmap 还是 arp-scan?看你要不要 MAC 地址
nmap -sn 192.168.1.0/24 能扫出活跃 IP,但不保证返回 MAC;arp-scan --local 直接读本地 ARP 缓存,速度快、必带 MAC,但只反映最近通信过的设备。如果你要排查 IP 冲突或定位某台物理设备(比如打印机、摄像头),MAC 是刚需;如果只是确认某 IP 是否在线,nmap 更通用。
性能影响:
-
arp-scan发的是链路层广播帧,不经过路由,无法跨 VLAN -
nmap -sn默认发 ICMP + TCP SYN,部分防火墙会屏蔽 ICMP,导致漏扫
实操建议:
- 首次盘点局域网设备:先跑
arp-scan --local快速拉出当前活跃设备及其 MAC - 补全离线但已分配的 IP:再用
nmap -sn -PE -PS22,80,443 192.168.1.0/24(-PE 用 ICMP,-PS 指定端口探测)
用在线 IP 查询网站时,为什么 ipinfo.io 返回的 ASN 和 Company 不一致?
这是判断 IP 类型的关键信号。ipinfo.io 的 asn 字段代表该 IP 所属自治系统(通常是骨干网运营商),company 字段代表注册信息里的运营主体(可能是 IDC 或代理服务商)。当两者不一致(如 asn: "AS4837",company: "Alibaba Cloud"),说明该 IP 是租用的云服务器 IP,非原生住宅出口——这类 IP 在 TikTok、Google Voice 等平台风控中更容易被标记。
容易忽略的细节:
- 同一 IP 可能在不同时间返回不同
company(如代理池轮换),必须结合ipdata.co的trust_score综合判断 -
ipinfo.io免费版每秒限 1 次请求,批量查时加sleep 1,否则返回 429 错误
实操建议:
- 查代理 IP 质量:优先跑
curl "https://ipinfo.io/<ip>?token=xxx"</ip>提取asn/company,再用curl "https://api.ipdata.co/<ip>?api-key=xxx"</ip>拿threat和is_residential - 别只信一个字段——
is_residential: true但trust_score ,依然慎用

















