Shell-Script
OpenDNS 自動診斷
我已聯繫 OpenDNS 支持,因為此站點http://www.backpackerboard.co.nz/上沒有過濾廣告
他們讓我閱讀這些手冊說明*OpenDNS 診斷工具:詢問時提供什麼支持*並在我的終端上執行這些命令:
nslookup domain.com nslookup domain.com 208.67.222.222 nslookup domain.com 208.67.220.220 nslookup domain.com 4.2.2.1 traceroute domain.com
並將他們送回。
因為我確定將來我需要重複執行這些命令,所以我想編寫一個腳本。我正在研究python,我想做一個
raw_input()
詢問 URL 並執行請求,但我不知道如何讓python執行shell 命令
我自己找到了解決方案,並編寫了一個腳本:
from subprocess import call target = str(raw_input("Give me a site: => ")) call(["nslookup", target]) % target
這是我需要知道的,謝謝你的幫助
作為參考,這樣的任務不需要重複,因為一旦 OpenDNS 調查了你返回的資訊,你就不需要再做一次,除非你需要報告多個域。您的輸出將類似於:
使用 ISP 的 DNS 進行普通查找
$ sudo nslookup backpackerboard.co.nz Server: 66.90.132.162 Address: 66.90.132.162#53 Non-authoritative answer: Name: backpackerboard.co.nz Address: 199.229.248.91
匹配 OpenDNS DNS 伺服器一
$ sudo nslookup backpackerboard.co.nz 208.67.222.222 Server: 208.67.222.222 Address: 208.67.222.222#53 Non-authoritative answer: Name: backpackerboard.co.nz Address: 199.229.248.91
匹配 OpenDNS DNS 伺服器 2
$ sudo nslookup backpackerboard.co.nz 208.67.220.220 Server: 208.67.220.220 Address: 208.67.220.220#53 Non-authoritative answer: Name: backpackerboard.co.nz Address: 199.229.248.91
匹配Level3 DNS Server
$ sudo nslookup backpackerboard.co.nz 4.2.2.1 Server: 4.2.2.1 Address: 4.2.2.1#53 Non-authoritative answer: Name: backpackerboard.co.nz Address: 199.229.248.91
被選中的原因
我會留給
traceroute
你,但最後一跳應該是199.229.248.91
。由於 IP 在所有四種情況下都匹配NSLookup
,因此 OpenDNS 將調查您聲稱它們沒有阻止的廣告並將採取措施。我只是在輸入此內容時查看了 Chromium 中的站點,但沒有看到任何會引起注意的內容。如果您報告的是右側邊欄,則可能不會有任何變化,因為這些廣告/工具是由您報告的網站託管的。如果原始伺服器位於已知廣告伺服器的黑名單中,OpenDNS 只會阻止內容。有趣的花絮:參見 4.2.2.2:DNS傳奇背後的故事