恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

ipwhois Legacy Whois完整教程:深入解析Port 43查询与Referral转发机制

  • 首页
  • 资讯中心
  • /
  • ipwhois Legacy Whois完整教程:深入解析Port 43查询与Referral转发机制

相关资讯

Duster 接入 GitHub Actions:自动修复代码并优雅忽略 git blame 的完整方案 2026/8/22 15:08:33
从1200到2400+:OpenClaw Master Skills周更路线图与MyClaw.ai生态全景 2026/8/22 15:08:33
如何为Chat API添加一个新的大模型上游?渠道适配器开发实战教程 2026/8/22 15:08:33

最新资讯

Pi Agent极简AI助手:本地部署与功能测试全指南
如何鉴别低价示波器:从参数虚标到安全隐患的全面避坑指南
数学建模竞赛中的多目标规划:从帕累托最优到NSGA-II实战
DeepSeek Harness 小白入门 50:30 天毕业路线:从第一次调用到自己的可靠 Agent
免费开源代码编辑器 NotepadFree:Notepad++ 重编译版,多语言语法高亮全可定制
一键保存:3步用 Zotero Connectors 自动抓取文献元数据

今日推荐

markdown-it-vue 踩坑排障:从安装到渲染的 6 个高频问题快速讲清
多尺度智能体控制:从宏观密度场到微观决策的架构与实践
CUBE标准:统一AI智能体评测的度量衡与架构解析

本周热门

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码
【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码
隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

ipwhois Legacy Whois完整教程:深入解析Port 43查询与Referral转发机制

发布时间:2026/8/22 15:08:33
ipwhois Legacy Whois完整教程:深入解析Port 43查询与Referral转发机制 ipwhois Legacy Whois完整教程深入解析Port 43查询与Referral转发机制【免费下载链接】ipwhoisRetrieve and parse whois data for IPv4 and IPv6 addresses项目地址: https://gitcode.com/gh_mirrors/ip/ipwhoisipwhois是一个专注于获取并解析 IPv4 / IPv6 地址 whois 数据的 Python 库。它的 Legacy Whois 功能通过经典的Port 43TCP协议直连各大注册局服务器查询 IP 归属并支持Referralrwhois转发机制帮你拿到更细粒度的网络信息。本教程带你从零看懂这两项核心机制。 什么是 ipwhois 的 Legacy Whois在介绍 RDAP基于 HTTP 的现代 whois 协议之前互联网一直依赖WHOIS 协议——它简单粗暴客户端通过TCP 43 端口与注册局RIR服务器建立连接发送一个 IP 地址外加换行符服务器返回一大段纯文本包含网络段、持有者、邮箱等注册信息ipwhois 把这个流程封装成了lookup_whois()方法自 v0.12.0 起取代了旧的lookup()方法。它的核心源码位于发起 43 端口查询ipwhois/net.pyget_whois方法约第 524 行解析响应与 Referral 转发ipwhois/whois.pyWhois.lookup方法约第 550 行对外统一入口ipwhois/ipwhois.pylookup_whois方法约第 67 行官方文档WHOIS.rst及docs/source/WHOIS.rst 快速安装2 步用上 ipwhois方式一pip 安装推荐pip install ipwhois方式二从仓库源码安装git clone https://gitcode.com/gh_mirrors/ip/ipwhois cd ipwhois pip install -e . 支持 Python 2.7 与 3.4几乎零门槛。 Port 43 查询原理从发送 IP 到拿到原始文本ipwhois 会根据你 IP 所属的注册局自动选择对应的 whois 服务器定义在ipwhois/whois.py的RIR_WHOIS字典约第 63 行注册局 (RIR)负责区域Whois 服务器查询语句ARIN北美whois.arin.netn IPRIPE NCC欧洲whois.ripe.netIP可加-rAPNIC亚太whois.apnic.netIPLACNIC拉丁美洲whois.lacnic.netIPAFRINIC非洲whois.afrinic.netIP在ipwhois/net.py中实际流程是创建 TCP Socket 并设置超时默认 5 秒连接到对应服务器43 端口发送IP地址 \r\nARIN 会加n 前缀以返回 CIDR 摘要循环recv(4096)直到接收完毕得到原始文本响应容错设计也很贴心遇到超时、连接重置会自动重试默认retry_count3若服务器返回 Query rate limit exceeded会等待 1 秒后重试重试耗尽则抛出WhoisRateLimitError定义于ipwhois/exceptions.py。 一行代码查询lookup_whois 快速上手from ipwhois import IPWhois obj IPWhois(74.125.225.229) results obj.lookup_whois() print(results[asn_description]) # GOOGLE - Google Inc., US返回字典的结构详见WHOIS.rst的 Output 章节键含义asn/asn_cidr/asn_descriptionASN 编号 / 网段 / 描述asn_registry所属注册局如arinnets网络注册信息列表cidr、持有者、国家、邮箱等 12 个字段raw原始 whois 文本需inc_rawTruereferralReferral 转发结果需get_referralTruenir日本 JPNIC / 韩国 KRNIC 的国家级注册局信息 启用 Referral 转发get_referral 深度解析什么是 Referral有些网络尤其是大型运营商会把「子网级的详细分配信息」放在独立的rwhois 服务器上主 whois 响应里只留一行路标ReferralServer: rwhois://rwhois.cogentco.com:43ipwhois 的 Referral 机制ipwhois/whois.py约第 641–710 行分三步正则提取用^ReferralServer:[^\S\n](.:[0-9])$从原始响应中找出 rwhois 服务器地址与端口二次查询向该 rwhois 服务器发起新的 43 端口查询拿到子网级信息独立解析rwhois 的字段格式与 RIR 不同如network:IP-Network因此使用单独的RWHOIS正则字典约第 155 行解析后放入结果的referral键实战示例——查询 Cogent 的 IP 并开启转发results obj.lookup_whois(get_referralTrue) print(results[referral][description]) # 子网级分配信息⚠️三个实用开关get_referralTrue开启转发查询默认关闭ignore_referral_errorsTruerwhois 服务器经常年久失修开启后转发失败不会中断整个查询inc_rawTrue同时返回raw与raw_referral原始文本方便调试️ 安全提示ipwhois 内置全局黑名单ipwhois/net.py的BLACKLIST如root.rwhois.net黑名单服务器不会被访问你还可以通过extra_blacklist参数追加自己的黑名单。️ 避坑指南限速、超时与常见报错场景表现解决办法触发限速WhoisRateLimitError增大请求间隔LACNIC 限速较严格网络超时WhoisLookupError调大构造时的timeout参数默认 5 秒rwhois 服务器失联转发查询抛异常设置ignore_referral_errorsTrue只需部分字段解析较慢用field_list指定字段列表# 完整容错写法 results IPWhois(38.113.198.252, timeout10).lookup_whois( get_referralTrue, ignore_referral_errorsTrue, retry_count3 )❓ 常见问题 FAQQ1Legacy Whois 和 RDAP 该用哪个RDAPlookup_rdap()是官方推荐的现代方式返回 JSON、更稳定Legacy WhoisPort 43胜在能访问 rwhois Referral 这类老数据源且不需要 HTTP。两者可按需混用。Q2为什么查出来的nets里有多个网段ipwhois 能识别父/子网络结构会把一次响应中列出的多个 CIDR 拆成独立的字典条目。Q3IPv6 支持吗支持Port 43 查询对 IPv4 / IPv6 一视同仁返回结构完全一致。Q4查询速度慢怎么办大概率是源 IP 被限速尤其多用户共用代理时。可尝试缓存结果参考examples/redis_cache/redis_cache.py或改用 RDAP 通道。✅ 小结ipwhois 的Port 43 查询由ipwhois/net.py完成自动选择 RIR 服务器 → TCP 43 连接 → 发送查询 → 带重试与限速处理Referral 转发由ipwhois/whois.py完成提取ReferralServer→ 二次 rwhois 查询 → 用独立正则解析核心入口就是IPWhois(ip).lookup_whois(get_referralTrue)配合retry_count、ignore_referral_errors、field_list三个参数即可覆盖绝大多数生产场景【免费下载链接】ipwhoisRetrieve and parse whois data for IPv4 and IPv6 addresses项目地址: https://gitcode.com/gh_mirrors/ip/ipwhois创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号