トップ «前の日記(2017-01-01(Sun)) 最新 次の日記(2017-01-08(Sun))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2017-01-06(Fri) 久々のくもり

SMTPとDNS

やはり忘れてゆく。
GMAILに送信したときの名前解決の様子。
一旦 -w でファイルに落とし、 -r で読んで | cut -d " " -f 3- して 日時などを削ぎ落とす。

$ sudo tcpdump -n -p udp port 53 
  $SERVER.42163 > $DNS_CACHE.53: 44981+ PTR? $SENDER_PTR.in-addr.arpa. (43)
  $DNS_CACHE.53 > $SERVER.42163: 44981 1/0/0 PTR $SENDER_HOST. (84)
  $SERVER.35681 > $DNS_CACHE.53: 24373+ A? $SENDER_HOST. (45)
  $DNS_CACHE.53 > $SERVER.35681: 24373 1/0/0 A $SENDER_IP (61)
  $SERVER.37252 > $DNS_CACHE.53: 56214+ MX? gmail.com. (27)
  $DNS_CACHE.53 > $SERVER.37252: 56214 5/0/0 
     MX $GMAIL_1. 30,
     MX $GMAIL_2. 20,
     MX $GMAIL_3. 10,
     MX $GMAIL_4. 40,
     MX $GMAIL_5. 5 (150)
  $SERVER.57552 > $DNS_CACHE.53: 43069+ A? $GMAIL_5. (44)
  $DNS_CACHE.53 > $SERVER.57552: 43069 1/0/0 A $GMAIL5_IPv4 (60)
  $SERVER.45523 > $DNS_CACHE.53: 64837+ AAAA? $GMAIL_5. (44)
  $DNS_CACHE.53 > $SERVER.45523: 64837 1/0/0 AAAA $GMAIL5_IPv6 (72)
  $SERVER.36889 > $DNS_CACHE.53: 19110+ A? $GMAIL_3. (49)
  $DNS_CACHE.53 > $SERVER.36889: 19110 1/0/0 A $GMAIL3_IPv4 (65)
  $SERVER.37520 > $DNS_CACHE.53: 63244+ AAAA? $GMAIL_3. (49)
  $DNS_CACHE.53 > $SERVER.37520: 63244 1/0/0 AAAA $GMAIL3_IPv6 (77)
  $SERVER.53363 > $DNS_CACHE.53: 25744+ A? $GMAIL_2. (49)
  $DNS_CACHE.53 > $SERVER.53363: 25744 1/0/0 A $GMAIL2_IPv4 (65)
  $SERVER.60099 > $DNS_CACHE.53: 20755+ AAAA? $GMAIL_2. (49)
  $DNS_CACHE.53 > $SERVER.60099: 20755 1/0/0 AAAA $GMAIL2_IPv6 (77)
  $SERVER.43476 > $DNS_CACHE.53: 48647+ A? $GMAIL_1. (49)
  $DNS_CACHE.53 > $SERVER.43476: 48647 1/0/0 A $GMAIL1_IPv4 (65)
  $SERVER.60381 > $DNS_CACHE.53: 37712+ AAAA? $GMAIL_1. (49)
  $DNS_CACHE.53 > $SERVER.60381: 37712 1/0/0 AAAA $GMAIL1_IPv6 (77)
  $SERVER.50507 > $DNS_CACHE.53: 57444+ A? $GMAIL_4. (49)
  $DNS_CACHE.53 > $SERVER.50507: 57444 1/0/0 A $GAMIL4_IPv4 (65)
  $SERVER.57306 > $DNS_CACHE.53: 3495+ AAAA? $GMAIL_4. (49)
  $DNS_CACHE.53 > $SERVER.57306: 3495 1/0/0 AAAA $GAMIL4_IPv6 (77)

まず送信元の逆引きと正引きを行い、送信先のMXを引いて、得られた 送信先のホスト名5つを、各々の優先順に、V4そしてV6の順でそれぞれ解決している。

ちなみに、このあとMXで最優先(5)の $GMAIL5_IPv4に メールを送信している。
失敗していれば、以後優先順位に従って順次配送を試みる...はず。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。