首先我们要明白,对于一个IP地址,很有可能不存在反向的映射。而事实上很多IP地址就没有对应的域名。

在Internet标准中有定义反向DNS,和DNS自身一样是一个可选特性。因此,我们必须要为每一次反向查询的行为作异常捕获和处理socket.herror()。

下面是一个简单的例子,主要工作是根据IP地址返回相应的域名,代码如下:

import sys, sockettry:# Perform the lookupresult = socket.gethostbyaddr(sys.argv[1])# Display host-name which is looked-upprint "Primary hostname: " + result[0]# DIsplay the list of available addresses that is also returnedprint "\nAddresses: "for item in result[2]:print " " + item;except socket.herror, e:print "Failed to look up hostname:", e

运行结果:

第一次查询IPv4地址对应的域名;第二次查询无效的反向映射;第三次查询是查找localhost的地址,结果应该都一样。

不过有一点需要说明的是,有时候反向查询得到的域名并不是真实的,因为攻击者会在反向查找的记录中插入伪造的数据。

域名系统(DNS)反向查询相关推荐

  1. python socket 域名_python实现域名系统(DNS)正向查询的方法

    本文实例讲述了python实现域名系统(DNS)正向查询的方法.分享给大家供大家参考,具体如下: 域名系统(DNS)是一个分布式的数据库,主要是用来把主机名换成IP地址. DNS存在有两大理由: (1 ...

  2. 计算机网络应用层笔记--域名系统DNS

    域名系统DNS 标识因特网上主机的方式 主机名 IP地址 域名系统(DNS) 工作过程 互联网的域名结构 顶级域名 国家顶级域名nTLD 通用顶级域名gTLD 基础结构域名 二级域名 类别域名 行政区 ...

  3. 计算机网络——域名系统DNS

    文章目录 1.域名系统DNS的作用 2.层次树状结构的域名系统 3.域名解析的过程 4.总结 1.域名系统DNS的作用     当我们想要访问某个网页时,我们输入的地址并不是其IP地址,而是输入一个域 ...

  4. 6-2应用层-域名系统DNS

    域名系统(DNS)是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名(如www.cskaoyan.com)转换为便于机器处理的IP地址.域名系统的组成包括:域名空间.分布式数据库.域名服 ...

  5. DNS域名解析服务1(高速缓存dns,dns正向解析,dns正向轮询解析,dns反向解析,dns双向解析)

    域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务.IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址.域名解析就是域名到IP地址的 ...

  6. 实习笔记0708 https协议/ django中间件/接口测试/内网与外网/域名系统DNS

    1 https协议 https://www.cnblogs.com/superfeeling/p/11561340.html https://www.cnblogs.com/an-wen/p/1118 ...

  7. 微软官网服务器dns,域名系统 (DNS)

    域名系统 (DNS) 08/07/2020 本文内容 适用于:Windows Server 2022.Windows Server 2019.Windows Server 2016 域名系统 (DNS ...

  8. 【网络是怎么连接的】—— 1.2 向 DNS 服务器查询 Web 服务器的 IP 地址

    目录 1.2 向 DNS 服务器查询 Web 服务器的 IP 地址 1.2.1 IP地址基础知识 1.2.2 域名和 IP 地址并用的理由 1.2.3 Socket 库提供查询 IP 地址的功能 1. ...

  9. 域名系统DNS知识点

    域名系统 DNS  是因特网使用的命名系统,用于把便于人们使用的机器名字转换为IP地址. 因特网的域名系统DNS被设计成为一个联机分布式数据库系统,并采用客户-服务器方式. 域名只是个逻辑概念. 域名 ...

最新文章

  1. js在post后台接口的时候,一行代码完成删除对象中所有值为null、undefined或为空字符串““的属性
  2. AL2018届校招笔试——自然语言处理
  3. ros(2) 发布者publisher的编程实现
  4. imap服务器appleimap.163.com没有响应,163smtp
  5. php-php连接数据库
  6. 计算机网络基础中职期中,中职计算机网络基础期中试卷
  7. 一般意义的resolution地图分辨率和比例尺理解
  8. Daimayuan Online Judge 上帝的集合
  9. nexus 4/5/6/7/9/10 安卓5.1 LMY47D root教程
  10. 工作小妙招之将Excel中不同sheet中的数据按照相同属性进行合并
  11. 文本文件操作 单词排序
  12. springboot+mysql+基于Android的校园综合服务App平台的设计 毕业设计-附源码181042
  13. 合肥最最最牛逼的 IT 公司全在这了
  14. 面试——认识不一样的自己
  15. 银行卡数据标签及其应用
  16. SOR迭代法c语言报告,SOR迭代_C语言代码
  17. 精品基于Uniapp+SSM实现的记账app家庭账单财务
  18. php 输入 输出,PHP 输入和输出处理
  19. 短信接口发送失败常见原因,你掌握多少?
  20. RK3568人工智能物联网,专为AI应用而生

热门文章

  1. 关于编辑Windows的右键【新建】删除和添加
  2. 计算机二级MS-office题目练习
  3. 阿里云code结合git管理代码,运用webHook同步部署服务器代码(php)
  4. C++实现三维空间中点到点、点到直线、点到平面的距离计算
  5. 津门杯GoOSS和302重定向漏洞
  6. [XJTU计算机网络安全与管理]——第十三讲 攻击与病毒
  7. ftp下载的文件为空文件
  8. Python自动打码,DdddOcr通用验证码自动识别库
  9. C#计算两个日期间隔年数、月数、天数
  10. 在MySQL中创建Oracle中的dept、emp、bonus、salgrade表