nslookupと同じことをしているpythonモジュールはありますか? nslookupを使用して、廃棄するURLのドメインに関する情報を掘り起こす予定です。私はos.sysを使ってnslookupを呼び出すことができることを知っていますが、私はすでにこのためのpythonモジュールがあるかどうか疑問に思っています。 ありがとうございます!nslookupのpythonモジュール
15
A
答えて
7
あなたはhttp://docs.python.org/2/library/socket.html
システム関数呼び出しが、この場合では良い方法ではありませんソケットライブラリを使用する必要があります。
12
あなたは、私は次のコードを使用していDNSPython
import dns.resolver
answers = dns.resolver.query('dnspython.org', 'MX')
for rdata in answers:
print 'Host', rdata.exchange, 'has preference', rdata.preference
14
を使用する必要があります。socket.getfqdn()
は、ホスト名の完全修飾名を返すことができ
import socket
ip_list = []
ais = socket.getaddrinfo("www.yahoo.com",0,0,0,0)
for result in ais:
ip_list.append(result[-1][0])
ip_list = list(set(ip_list))
5
は注意を。例えばhttp://docs.python.org/2/library/socket.html?highlight=socket.getaddrinfo#socket.getfqdn
:参照してください
python -c 'import socket; print(socket.gethostname()); print(socket.getfqdn());'
myserver
myserver.mydomain.local
しかし、結果は/etc/hosts
設定を依存しています。あなたが持っている場合:
$ cat /etc/hosts
127.0.0.1 myserver localhost.localdomain localhost
socket.getfqdn()
の結果は以下のようになります。
python -c 'import socket; print(socket.getfqdn());'
localhost.localdomain
Oooops!それを解決するために、私が知っている唯一の解決策は、以下のよう/etc/hosts
を変更することです:
$ cat /etc/hosts
127.0.0.1 myserver myserver.mydomain.local localhost.localdomain localhost
はそれが役に立てば幸い!
5
問題は、socket.gethostbyname()がただ1つのip-addressを返すことです。 nslookupは、それが持つ数だけ返します。 は、私が使用します。
import subprocess
process = subprocess.Popen(["nslookup", "www.google.com"], stdout=subprocess.PIPE)
output = process.communicate()[0].split('\n')
ip_arr = []
for data in output:
if 'Address' in data:
ip_arr.append(data.replace('Address: ',''))
ip_arr.pop(0)
print ip_arr
それが印刷されます:
['54.230.228.101', '54.230.228.6', '54.230.228.37', '54.230.228.80', '54.230.228.41', '54.230.228.114', '54.230.228.54', '54.230.228.23']
0
を私はのCNAMEを使用してAWSルート53のレコードを追跡する必要がありました。 AKA messaging.myCompany.com
〜moreSpecificMessaging.myCompanyInternal.com
また、私はソケットを使用しますが、もう少し隠された方法です。
import socket
addr1 = socket.gethostbyname_ex('google.com')
print(addr1)
https://docs.python.org/3/library/socket.html#socket.gethostbyname_ex
関連する問題
- 1. nslookup/host parsing PHP
- 2. Pythonモジュール
- 3. Pythonモジュール
- 4. Pythonモジュールのコマンドライン
- 5. WindowsのPythonモジュール
- 6. モジュール、Pythonの
- 7. Pythonモジュールのインポートエラー
- 8. Pythonのモジュールのアップデート
- 9. インポートのpythonモジュールに
- 10. Pythonモジュールの問題
- 11. Mosso Pythonモジュール
- 12. インストールwin32gui Pythonモジュール
- 13. Python OSモジュール
- 14. Pythonモジュール::機能
- 15. Python SSH/SFTPモジュール?
- 16. rdiff pythonモジュール
- 17. Pythonの検索パス - Pythonは私のモジュール
- 18. djangoモジュールのインポートエラー - python 2.7 vs python 3.4
- 19. 私のPythonモジュールを呼び出すPython
- 20. pythonモジュールのインポートの質問
- 21. htmlのためのpythonモジュール
- 22. 複数のPythonモジュールのインポート
- 23. のMySQLdbのpythonモジュールに
- 24. Pythonのioモジュールの問題
- 25. スタンドアロンのPythonモジュールのインストール
- 26. Pythonのフラスコ:モジュールのインストール
- 27. python importerrorモジュールzope.interface twisted
- 28. Pythonのモジュール命名規則
- 29. Pythonのshモジュール - Running 'source'コマンド
- 30. libtool pythonモジュールのリンクとインストール
真と徹底し、これは、ローカルシステムのホスト名/ FQDNを見上げながら。 OPはサイトスクレイピングのために外部DNS名を調べる方法を尋ねた。まだ情報の+1。 – VooDooNOFX