【问题标题】:How to use command line to get whois information?如何使用命令行获取whois信息?
【发布时间】:2013-03-10 09:08:24
【问题描述】:

我的服务器上有一个大型文本文件,其中包含我需要获取其联系信息的域列表。这是我在 stackoverflow.com 上运行 whois 时显示的一个示例:

root@server [~]# whois stackoverflow.com
[Querying whois.verisign-grs.com]
[Redirected to whois.name.com]
[Querying whois.name.com]
[whois.name.com]

__   _                             ____
| \ | | __ _ _ __ ___   ___       / ___|___  _ __ ___
|  \| |/ _` | '_ ` _ \ / _ \     | |   / _ \| '_ ` _ \
| |\  | (_| | | | | | |  __/  _  | |__| (_) | | | | | |
|_| \_|\__,_|_| |_| |_|\___| (_)  \____\___/|_| |_| |_|
      On a first name basis with the rest of the world.


Get your <a href="http://www.name.com">domains</a> at Name.com.


Domain Name:     stackoverflow.com
Registrar:       Name.com LLC

Expiration Date: 2015-12-26 19:18:07
Creation Date:   2003-12-26 19:18:07

Name Servers:
        ns1.serverfault.com
        ns2.serverfault.com
        ns3.serverfault.com
        ns4.serverfault.com

REGISTRANT CONTACT INFO
Stack Exchange, Inc.
Sysadmin Team
1 Exchange Plaza
Floor 26
New York
NY
10006
US
Phone:         +1.2122328280
Email Address: sysadmin-team@stackoverflow.com

ADMINISTRATIVE CONTACT INFO
Stack Exchange, Inc.
Sysadmin Team
1 Exchange Plaza
Floor 26
New York
NY
10006
US
Phone:         +1.2122328280
Email Address: sysadmin-team@stackoverflow.com

TECHNICAL CONTACT INFO
Stack Exchange, Inc.
Sysadmin Team
1 Exchange Plaza
Floor 26
New York
NY
10006
US
Phone:         +1.2122328280
Email Address: sysadmin-team@stackoverflow.com

BILLING CONTACT INFO
Stack Exchange, Inc.
Sysadmin Team
1 Exchange Plaza
Floor 26
New York
NY
10006
US
Phone:         +1.2122328280
Email Address: sysadmin-team@stackoverflow.com

Timestamp: 1363827248.6992

The Data in the Name.com LLC WHOIS database is provided by Name.com LLC for information purposes, and to assist persons in obtaining information about or related to a domain name registration record.  Name.com LLC does not guarantee 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 of mass unsolicited, commercial advertising or solicitations via e-mail (spam); or (2) enable high volume, automated, electronic processes that apply to Name.com LLC (or its systems). Name.com LLC reserves the right to modify these terms at any time.  By submitting this query, you agree to abide by this policy.

Cached on: 2013-03-20T18:54:08-06:00

我需要做的是从每个查询中提取某些信息。问题是我不明白如何仅从每个域 whois 中提取联系电子邮件,因为每个 whois 结果因注册商而异。

例如,我希望它是这样工作的:

通过命令行,我的服务器应该检查每个域名的 whois 信息,并将所有结果导出到一个新的文本文件,该文件只包含域名所有者的电子邮件地址。包含所有域的文件的名称是 domain.txt,如果可能的话,我希望将新文件命名为 new.txt。

对此的任何帮助将不胜感激。提前致谢!

【问题讨论】:

    标签: perl command-line command


    【解决方案1】:

    您首先应该搜索whois on cpan,然后选择不那么过时、最过时和最相关的内容。

    【讨论】:

    • 我认为您链接到的 Net::Whois::IANA 是用于获取 IP 地址的 whois,而不是域名。我错了吗?除非我误解了什么,否则它看起来不像返回电子邮件地址和 IANA 控制 IP 分配,而不是域名。
    【解决方案2】:

    不一定是 Perl,但由于您是在命令行(可能是 linux)上执行此操作,因此您可以使用 shell 脚本执行以下操作。

    cat domain.txt | while read line
    do
    echo "$line - `whois $line | grep \"@\"`" >> new.txt
    done
    

    如果您的 domain.txt 文件如下所示:

    stackoverflow.com
    

    那么你的 new.txt 将如下所示:

    stackoverflow.com - sysadmin-team@stackoverflow.com
    stackoverflow.com - sysadmin-team@stackoverflow.com
    stackoverflow.com - sysadmin-team@stackoverflow.com
    stackoverflow.com - sysadmin-team@stackoverflow.com
    

    您可以添加一些 'sort' 和 'uniq' 命令来清除重复值。如有必要,请告诉我,我会详细说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 2011-07-25
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多