【信息收集】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

相关文章

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Python如何去除图片干扰代码示例

《Python如何去除图片干扰代码示例》图片降噪是一个广泛应用于图像处理的技术,可以提高图像质量和相关应用的效果,:本文主要介绍Python如何去除图片干扰的相关资料,文中通过代码介绍的非常详细,... 目录一、噪声去除1. 高斯噪声(像素值正态分布扰动)2. 椒盐噪声(随机黑白像素点)3. 复杂噪声(如伪

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

python使用库爬取m3u8文件的示例

《python使用库爬取m3u8文件的示例》本文主要介绍了python使用库爬取m3u8文件的示例,可以使用requests、m3u8、ffmpeg等库,实现获取、解析、下载视频片段并合并等步骤,具有... 目录一、准备工作二、获取m3u8文件内容三、解析m3u8文件四、下载视频片段五、合并视频片段六、错误

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使