web-dev-qa-db-ja.com

特定のドメインがOffice 365またはGoogle Mailを使用しているかどうかを確認する

メールにOffice 365とGoogle Mailのどちらを使用しているかを確認したいメールドメインのリストがあります。 Nslookupを使用してMXをチェックすることで問題を解決できますが、DNS MXとしてスパム対策サービスを使用し、メールサービスMXにリダイレクトして、メールサーバー自体を難読化する企業がいくつかあることに気付きました。誰もがメールエクスチェンジャーの背後にあるものを特定する方法を知っていますか?また、Office 365かGoogleかを知っていますか?

4
Frosa

それらのドメインから送信された電子メールにアクセスできる場合、ヘッダーには、それらがホストされている場所を特定するのに役立つ豊富な情報が含まれています。欠点は、パブリックMXレコードを突っ込むのとは異なり、調査するヘッダーを取得するために、誰かから実際のメールを取得する必要があることです。

Receivedヘッダーは、メッセージを処理するために各メールサーバーによってメッセージの前に付加されます。このようなエントリを見つけた場合、それはOffice365ユーザーからのものであることを示しています。

Received: from BY2FFO11FD003.protection.gbl (2a01:111:f400:7c0c::150) by
 DM2PR07CA0012.Outlook.office365.com (2a01:111:e400:2414::12) with Microsoft
 SMTP Server (TLS) id 15.1.409.15 via Frontend Transport; Mon, 15 Feb 2016
 07:05:08 +0000

(Received:ヘッダーが先頭に追加されることに注意してください...一番上にあるものはメールサーバーです。ヘッダーブロックの最も下にあるものは送信者に最も近いものです)

また、MicrosoftはX-ヘッダーの使用について冗長になる傾向があります。

X-MS-Office365-Filtering-Correlation-Id: 1d91711e-ed71-457b-940d-08d335d6569e
X-Microsoft-Antispam-PRVS: <CO1PR07MB9408BD5A137BB4D0DD62AD9F6AC0@CO1PR07MB940.namprd07.prod.Outlook.com>

一方、GmailユーザーはGoogle.comメールサーバーを経由してルーティングします。

Received: by mail-qk0-f174.google.com with SMTP id c73so160486949qkg.2
        for <[email protected]>; Mon, 20 Jun 2016 06:09:04 -0700 (PDT)

そして、あなたがGmailを示すと期待できる他のヘッダーがあります:

X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:from:content-transfer-encoding:mime-version
         :subject:message-id:date:to;
        bh=r/jgn896D9B3/dGqTvjA6Oypoq6NXeS9bZtz6pRcJVM=;
        b=V7bSJBRm/pZEAA3eYQ+6bRouRLOReIPeLxHuweA7vk0/nFs+qW8NCOC5Cm3SfYBFXH
         IcYgRDWaxu4ckR3K5Nd6MGRxil2Rdcf/mSoJp2ODgrdIPqwS9KQl3lA/1VsngRk1VE0I
         in/g1XY/z08KOMZHjJlD8X7TXNSxvtBC/CpfaXsll1AZ690qvuvF1oV5JfZrxv3TflHb
         TFWpkxkRVlKXD9uMsKkyNUiOhP654NMtRDAEhZL8ZlrytYX654OtoqkxblGGhUtcnvap
         9vEliKWJzZ4WnzZ9lPbqDmffEJ52R4pYFCfkPzlycZ3qQd/AyXz3qGFfKYQG/s1qFyr2
         MEug==
X-Gm-Message-State: ALyK8tKapGupKvgAgZijc99P8ZvHpBqDPU3gNZLUw+bow15vQEcL4HYQNx19EMxYLRHKBQ==

さて、ドメインがメールをアンチスパムサービスに送信し、その後それをGoogleに転送する場合、MXレコードがそのドメインを指していなくても、おそらくGoogleメールサーバーはそのドメインのメールを受け入れます。これをテストするには、ポート25(SMTP)でGoogleメールエクスチェンジャーに接続し、シンプルなSMTPコマンド(helo、mail from、rcpt to、quit)を使用して問題のドメインのメールを受け入れるかどうかをテストします。

このパターンに従うドメイン(MX = anti-spam then-> Google)はわかりませんが、次のSMTPトランザクションは、Googleがドメイン 'stackexchange.com'(本当にGoogleでホストされている)のメールを受け入れる意思があることを示します):

$ telnet aspmx.l.google.com 25
Trying 74.125.28.26...
Connected to aspmx.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP e14si35146749pap.172 - gsmtp
helo pool-10-1-2-3.bstnma.fios.verizon.net
250 mx.google.com at your service
mail from: <[email protected]>
250 2.1.0 OK k9si37945038pfj.91 - gsmtp
rcpt to: <[email protected]>
250 2.1.5 OK k9si37945038pfj.91 - gsmtp
quit
221 2.0.0 closing connection k9si37945038pfj.91 - gsmtp
Connection closed by foreign Host.
$

「rcpt to:」の後の「250」応答は、Googleがexample.netのメールを受け入れる用意があることを示しています。

対照的に、Googleがメールを管理していないドメイン「play4kd.com」を使用した同じ種類のテストは次のとおりです。

$ telnet aspmx.l.google.com 25
Trying 74.125.28.27...
Connected to aspmx.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP xi11si6702300pac.134 - gsmtp
helo pool-10-1-2-3.bstnma.fios.verizon.net
250 mx.google.com at your service
mail from: <[email protected]>
250 2.1.0 OK xi11si6702300pac.134 - gsmtp
rcpt to: <[email protected]>
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1  https://support.google.com/mail/answer/6596 xi11si6702300pac.134 - gsmtp
quit
221 2.0.0 closing connection xi11si6702300pac.134 - gsmtp
Connection closed by foreign Host.
$

この場合、「rcpt to:」コマンドの後に「550」の失敗コードが続き、Googleがこのドメインのメールを受け付けないことを示しています。

さて、これは完璧なテストではありません。私のテストでは、Microsoft.comのように、おそらくGoogleでホストされていない一部のドメインがGoogle.comに受け入れられた可能性があります。しかし、何もないよりはましだろう。

8
gowenfawr