【信息收集】whois信息查询 与 查询结果前端格式化输出的python实现(十二)

本文主要是介绍【信息收集】whois信息查询 与 查询结果前端格式化输出的python实现(十二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、WHOIS的概念
    • 1.1什么是“WHOIS”
    • 1.2 WHOIS系统组成
  • 二、python-whois代码实现
  • 三、前端实现
  • 四、Reference

一、WHOIS的概念

1.1什么是“WHOIS”

“WHOIS”是当前域名系统中不可或缺的一项信息服务。在使用域名进行Internet冲浪时,很多用户希望进一步了解域名、名字服务器的详细信息,这就会用到WHOIS。对于域名的注册服务机构(registrar)而言,要确认域名数据是否已经正确注册到域名注册中心(registry),也经常会用到WHOIS。直观来看,WHOIS就是链接到域名数据库的搜索引擎,一般来说是属于网络信息中心(NIC)所提供和维护的名字服务之一。

1.2 WHOIS系统组成

根据IETF标准 要求,WHOIS服务一般由WHOIS系统来提供。WHOIS系统是一个Client/Server系统。其中Client端主要负责:

1)提供访问WHOIS系统的用户接口;

2)生成查询并将其以适当的格式传送给Server;

3)接收Server传回的响应,并以用户可读的形式输出。

Server端则主要负责接收Client端的请求并发回响应数据。Internet上基于TCP协议的基本服务都有自己默认的TCP端口号,象HTTP服务的默认端口号为80,FTP服务的默认端口号为21等。同样作为Internet上核心服务之一的WHOIS服务,其Server端默认监听43号TCP端口,接收查询请求并产生响应。一般来说,Server端可以接收三种类型的信息查询:联系人、主机和域名。对于同一查询,Server端的输出应该具有一致性和稳定性。

二、python-whois代码实现

# -*- coding:utf-8 -*-
"""
作者:wyt
日期:2022年04月18日
"""import requests
from bs4 import BeautifulSoupdef test(domain):headers = {'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'}r = requests.get('http://whoissoft.com/' + domain, headers=headers)csd = r.content.decode('utf-8')soup = BeautifulSoup(csd, 'html.parser')print(soup.text)if __name__ == '__main__':test("jd.com")

返回:


jd.com Domain WHOIS Lookup - WhoisSoftDomain Name/IP Address:Global WHOIS lookup for over 220 domain name extensions,
IDN (Internationalized Domain Names) and IP addresses.Domain Name: jd.com   IP Address: 211.144.24.218/111.13.149.108/157.185.145.100/118.193.98.63/211.144.27.126Google PageRank: 0
WHOIS Lookup For Domain Name jd.com:Domain Name: JD.COMRegistry Domain ID: 101561_DOMAIN_COM-VRSNRegistrar WHOIS Server: whois.markmonitor.comRegistrar URL: http://www.markmonitor.comUpdated Date: 2022-03-10T03:22:07ZCreation Date: 1992-09-29T04:00:00ZRegistry Expiry Date: 2028-03-08T05:17:11ZRegistrar: MarkMonitor Inc.Registrar IANA ID: 292Registrar Abuse Contact Email: abusecomplaints@markmonitor.comRegistrar Abuse Contact Phone: +1.2083895740Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibitedDomain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibitedDomain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibitedDomain Status: serverDeleteProhibited https://icann.org/epp#serverDeleteProhibitedDomain Status: serverTransferProhibited https://icann.org/epp#serverTransferProhibitedDomain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibitedName Server: NS1.JDCACHE.COMName Server: NS2.JDCACHE.COMName Server: NS3.JDCACHE.COMName Server: NS4.JDCACHE.COMDNSSEC: unsignedURL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2022-04-18T12:10:48Z <<<*****************************************************************************Domain Name: jd.com
Registry Domain ID: 101561_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.markmonitor.com
Registrar URL: http://www.markmonitor.com
Updated Date: 2022-03-10T03:23:40+0000
Creation Date: 1992-09-29T04:00:00+0000
Registrar Registration Expiration Date: 2028-03-08T00:00:00+0000
Registrar: MarkMonitor, Inc.
Registrar IANA ID: 292
Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
Registrar Abuse Contact Phone: +1.2083895770
Domain Status: clientUpdateProhibited (https://www.icann.org/epp#clientUpdateProhibited)
Domain Status: clientTransferProhibited (https://www.icann.org/epp#clientTransferProhibited)
Domain Status: clientDeleteProhibited (https://www.icann.org/epp#clientDeleteProhibited)
Domain Status: serverUpdateProhibited (https://www.icann.org/epp#serverUpdateProhibited)
Domain Status: serverTransferProhibited (https://www.icann.org/epp#serverTransferProhibited)
Domain Status: serverDeleteProhibited (https://www.icann.org/epp#serverDeleteProhibited)
Registrant Organization: BEIJING JINGDONG 360 DU E-COMMERCE LTD.
Registrant State/Province: Beijing
Registrant Country: CN
Registrant Email: Select Request Email Form at https://domains.markmonitor.com/whois/jd.com
Admin Organization: BEIJING JINGDONG 360 DU E-COMMERCE LTD.
Admin State/Province: Beijing
Admin Country: CN
Admin Email: Select Request Email Form at https://domains.markmonitor.com/whois/jd.com
Tech Organization: BEIJING JINGDONG 360 DU E-COMMERCE LTD.
Tech State/Province: Beijing
Tech Country: CN
Tech Email: Select Request Email Form at https://domains.markmonitor.com/whois/jd.com
Name Server: ns1.jdcache.com
Name Server: ns2.jdcache.com
Name Server: ns4.jdcache.com
Name Server: ns3.jdcache.com
DNSSEC: unsigned
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
>>> Last update of WHOIS database: 2022-04-18T12:09:55+0000 <<<For more information on WHOIS status codes, please visit:https://www.icann.org/resources/pages/epp-status-codesIf you wish to contact this domain’s Registrant, Administrative, or Technical
contact, and such email address is not visible above, you may do so via our web
form, pursuant to ICANN’s Temporary Specification. To verify that you are not a
robot, please enter your email address to receive a link to a page that
facilitates email communication with the relevant contact(s).Web-based WHOIS:https://domains.markmonitor.com/whoisIf you have a legitimate interest in viewing the non-public WHOIS details, send
your request and the reasons for your request to whoisrequest@markmonitor.com
and specify the domain name in the subject line. We will review that request and
may ask for supporting documentation and explanation.The data in MarkMonitor’s WHOIS database is provided for information purposes,
and to assist persons in obtaining information about or related to a domain
name’s registration record. While MarkMonitor believes the data to be accurate,
the data is provided "as is" with no guarantee or warranties regarding its
accuracy.By submitting a WHOIS query, you agree that you will use this data only for
lawful purposes and that, under no circumstances will you use this data to:(1) allow, enable, or otherwise support the transmission by email, telephone,
or facsimile of mass, unsolicited, commercial advertising, or spam; or(2) enable high volume, automated, or electronic processes that send queries,
data, or email to MarkMonitor (or its systems) or the domain name contacts (or
its systems).MarkMonitor reserves the right to modify these terms at any time.By submitting this query, you agree to abide by this policy.MarkMonitor Domain Management(TM)
Protecting companies and consumers in a digital world.Visit MarkMonitor at https://www.markmonitor.com
Contact us at +1.8007459229
In Europe, at +44.02032062220
--WHOIS Lookup For Similar Domain Names:jd.net  jd.org  jd.cn  jd.com.cn  jd.cc  jd.co  jd.tv  jd.in  jd.de  jd.co.ukWHOIS Lookup for Your IP Address    Supported gTLDs, ccTLDs and New gTLDs© 2009-2020 whoissoft.com All Rights Reserved.

三、前端实现

如果上述python代码直接放在django的views中,会出现如下情况:
在这里插入图片描述
于是,利用 列表 进行格式化展示:

后端生成数据 views.py:

def whois(request):request.encoding = 'utf-8'message = request.POST['url']try:r = requests.get('http://whoissoft.com/' + message, headers=get_ua())csd = r.content.decode('utf-8')soup = BeautifulSoup(csd, 'html.parser')wsd = fsd.text# print('whoisr:',whoisr.text)comp = re.compile(r'a:link, a:visited {.*? }|a:hover {.*?}|white-space: .*?;|font-family:.*?;|function\s+s|window.location.href\s+=\s+".*?"|return\s+false;| var _sedoq\s+=\s+_sedoq|_sedoq.partnerid\s+=\s+''316085'';| _sedoq.locale\s+=\s+''zh-cn'';|var\s+s\s+=\s+document.createElement|s.type\s+=\s+''text/javascript'';|s.async\s+=\s+true;|s.src\s+=\s+''.*?'';|var\s+f\s+=\s+document.getElementsByTagName|f.parentNode.insertBefore|/.*?/|pre\s+{|word-wrap:\s+break-word;|}|\s*\(str1\){|\s+\+\s+str1;|\s+\|\s+\|\|\s+{;|\s+\|\|\s+{;|_sedoq.partnerid|\s+=|''316085''|\s+'';|\s+enter\s+your\s+partner\s+id|_sedoq.locale\s+=\s+|zh-cn|language\s+locale|\(function\(\)\s+{|\[0\];|s.type|text/javascript|script|s,\s+f|document.getElementById\(.*?\)|.style.marginLeft|=window|\|\||\s+{|;|en-us,|en-uk,|de-de,|es-er-fr,|pt-br,|\s+.innerWidth2|es-|er-|fr|.innerWidth2|er|-,')tih = re.sub(comp, '', soup)tih_list = tih.split('\n')return render(request, 'collect/whois.html', {'status':"yes", 'url': message, 'result': tih_list})except Exception as e:return render(request, 'collect/whois.html', {'status':"no",'url': message})

后端返回数据print(tih_list):
可看到,返回结果的每一行都被生成了列表中的一个元素。

['\ufeff', 'qq.com Domain WHOIS Lookup - WhoisSoft', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Domain Name/IP Address:', '', '', '\r', 'Global WHOIS lookup f
or ov 220 domain name extensions,\r', 'IDN (Intnationalized Domain Names) and IP addresses.\r', '', '', '', 'Domain Name: qq.com\xa0\xa0\xa0IP Address: 203.205.254.157183.3.226.35123.1
51.137.18Google PageRank: 0', 'WHOIS Lookup For Domain Name qq.com:\r', '\r', '\r', '\r', '\r', 'Domain Name: QQ.COM', '\xa0\xa0 Registry Domain ID: 2895300_DOMAIN_COM-VRSN', '\xa0\xa0Registrar WHOIS Sv: whois.markmonitor.com', '\xa0\xa0 Registrar URL: http:www.markmonitor.com', '\xa0\xa0 Updated Date: 2021-08-23T02:30:04Z', '\xa0\xa0 Creation Date: 1995-05-04T04:0
0:00Z', '\xa0\xa0 Registry Expiry Date: 2030-07-27T02:09:19Z', '\xa0\xa0 Registrar: MarkMonitor Inc.', '\xa0\xa0 Registrar IANA ID: 292', '\xa0\xa0 Registrar Abuse Contact Email: abuse
complaints@markmonitor.com', '\xa0\xa0 Registrar Abuse Contact Phone: +1.2083895740', '\xa0\xa0 Domain Status: clientDeleteProhibited https:icann.org/epp#clientDeleteProhibited', '\xa0
\xa0 Domain Status: clientTransfProhibited https:icann.org/epp#clientTransfProhibited', '\xa0\xa0 Domain Status: clientUpdateProhibited https:icann.org/epp#clientUpdateProhibited', '\x
a0\xa0 Domain Status: svDeleteProhibited https:icann.org/epp#svDeleteProhibited', '\xa0\xa0 Domain Status: svTransfProhibited https:icann.org/epp#svTransfProhibited', '\xa0\xa0 Domain
Status: svUpdateProhibited https:icann.org/epp#svUpdateProhibited', '\xa0\xa0 Name Sv: NS1.QQ.COM', '\xa0\xa0 Name Sv: NS2.QQ.COM', '\xa0\xa0 Name Sv: NS3.QQ.COM', '\xa0\xa0 Name Sv: N
S4.QQ.COM', '\xa0\xa0 DNSSEC: unsigned', '\xa0\xa0 URL of the ICANN Whois Inaccuracy Complaint Form: https:www.icann.org', '>>> Last update of whois database: 2022-04-18T12:18:34Z <<<'
, '', '*****************************************************************************', '', 'Domain Name: qq.com', 'Registry Domain ID: 2895300_DOMAIN_COM-VRSN', 'Registrar WHOIS Sv: wh
ois.markmonitor.com', 'Registrar URL: http:www.markmonitor.com', 'Updated Date: 2021-08-23T02:08:02+0000', 'Creation Date: 1995-05-04T04:00:00+0000', 'Registrar Registration ExpirationDate: 2030-07-27T02:09:19+0000', 'Registrar: MarkMonitor, Inc.', 'Registrar IANA ID: 292', 'Registrar Abuse Contact Email: abusecomplaints@markmonitor.com', 'Registrar Abuse Contact P
hone: +1.2083895770', 'Domain Status: clientUpdateProhibited (https:www.icann.org/epp#clientUpdateProhibited)', 'Domain Status: clientTransfProhibited (https:www.icann.org/epp#clientTr
ansfProhibited)', 'Domain Status: clientDeleteProhibited (https:www.icann.org/epp#clientDeleteProhibited)', 'Domain Status: svUpdateProhibited (https:www.icann.org/epp#svUpdateProhibit
ed)', 'Domain Status: svTransfProhibited (https:www.icann.org/epp#svTransfProhibited)', 'Domain Status: svDeleteProhibited (https:www.icann.org/epp#svDeleteProhibited)', 'Registrant Or
ganization: Shenzhen Tencent Comput Systems CO.,Ltd', 'Registrant State/Province: Guang Dong', 'Registrant Country: CN', 'Registrant Email: Select Request Email Form at https:domains.m
arkmonitor.comqq.com', 'Admin Organization: Shenzhen Tencent Comput Systems CO.,Ltd', 'Admin State/Province: Guang Dong', 'Admin Country: CN', 'Admin Email: Select Request Email Form a
t https:domains.markmonitor.comqq.com', 'Tech Organization: Shenzhen Tencent Comput Systems CO.,Ltd', 'Tech State/Province: Guang Dong', 'Tech Country: CN', 'Tech Email: Select RequestEmail Form at https:domains.markmonitor.comqq.com', 'Name Sv: ns4.qq.com', 'Name Sv: ns3.qq.com', 'Name Sv: ns2.qq.com', 'Name Sv: ns1.qq.com', 'DNSSEC: unsigned', 'URL of the ICANN W
HOIS Data Problem Reporting System: http:wdprs.intnic.net/', '>>> Last update of WHOIS database: 2022-04-18T12:09:19+0000 <<<', '', 'For more information on WHOIS status codes, please
visit:', '\xa0\xa0https:www.icann.orgpages/epp-status-codes', '', 'If you wish to contact this domain’s Registrant, Administrative, or Technical', 'contact, and such email address is
not visible above, you may do so via our web', 'form, pursuant to ICANN’s Temporary Specification. To vify that you are not a', 'robot, please ent your email address to receive a linkto a page that', 'facilitates email communication with the relevant contact(s).', '', 'Web-based WHOIS:', '\xa0\xa0https:domains.markmonitor.com/whois', '', 'If you have a legitimate
intest in viewing the non-public WHOIS details, send', 'your request and the reasons for your request to whoisrequest@markmonitor.com', 'and specify the domain name in the subject line
. We will review that request and', 'may ask for supporting documentation and explanation.', '', 'The data in MarkMonitor’s WHOIS database is provided for information purposes,', 'andto assist psons in obtaining information about or related to a domain', 'name’s registration record. While MarkMonitor believes the data to be accurate,', 'the data is provided "as i
s" with no guarantee or warranties regarding its', 'accuracy.', '', 'By submitting a WHOIS quy, you agree that you will use this data only for', 'lawful purposes and that, und no circu
mstances will you use this data to:', '\xa0\xa0(1) allow, enable, or othwise support the transmission by email, telephone,', 'or facsimile of mass, unsolicited, commcial advtising, or
spam or', '\xa0\xa0(2) enable high volume, automated, or electronic processes that send quies,', 'data, or email to MarkMonitor (or its systems) or the domain name contacts (or', 'its
systems).', '', 'MarkMonitor resves the right to modify these tms at any time.', '', 'By submitting this quy, you agree to abide by this policy.', '', 'MarkMonitor Domain Management(TM
)', 'Protecting companies and consums in a digital world.', '', 'Visit MarkMonitor at https:www.markmonitor.com', 'Contact us at +1.8007459229', 'In Europe, at +44.02032062220', '--\r'
, '\r', '', 'WHOIS Lookup For Similar Domain Names:qq.net\xa0\xa0qq.org\xa0\xa0qq.cn\xa0\xa0qq.com.cn\xa0\xa0qq.cc\xa0\xa0qq.co\xa0\xa0qq.tv\xa0\xa0qq.in\xa0\xa0qq.de\xa0\xa0qq.co.uk','', 'WHOIS Lookup for Your IP Address\xa0\xa0\xa0\xa0Supported gTLDs, ccTLDs and New gTLDs\r', '\r', '© 2009-2020 whoissoft.com All Rights Resved.\r', '\r', '', '', '', '', '', '', ''
, '', '', '', '']

前端展示代码template.html:

<div class="panel-body">{% for i in result %}{{ i }}<br>{% endfor %}
</div>

前端效果:
在这里插入图片描述

四、Reference

https://blog.csdn.net/weixin_34235457/article/details/92923780

这篇关于【信息收集】whois信息查询 与 查询结果前端格式化输出的python实现(十二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/383553

相关文章

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、