从值列表中反向DNS查找 - Python

0 投票
1 回答
2264 浏览
提问于 2025-04-17 20:27

我正在用Python做DNS查询,使用的是Python 3.x。

我有一长串网址,格式像这样:

yahoo.com
google.com
linkedin.com
facebook.com
cnn.com
foxnews.com

这是我的脚本:

import socket

file = '/Users/Python/Scripts/URL-list.txt'

file_O=open(file, 'r')

for i in file_O:
    print(i + socket.gethostbyname('i'))`

奇怪的是,当我一次运行一个网址时,它工作得很好,但当我对我的网址列表运行时,所有的网址都返回同一个IP。这里有个例子:

yahoo.com
69.16.143.64

google.com
69.16.143.64

linkedin.com
69.16.143.64

facebook.com
69.16.143.64

cnn.com
69.16.143.64

foxnews.com
69.16.143.64

你知道我哪里出错了吗?我猜可能是读取文本文件的方式有问题,但这个IP和任何一个网址都不对应。

1 个回答

3

那么你需要先去掉这一行的多余部分,然后再使用循环。像这样做就可以了:

import socket
file = '/Users/Python/Scripts/URL-list.txt'
f = open(file, 'r')
lines = f.readlines()
f.close()
for i in lines:
    host = i.strip()
    print("%s - %s" % (host, socket.gethostbyname(host)))

撰写回答