У меня есть эта функция, чтобы показать мне первый IP-адрес домена:
def get_ip_address(url):
command="host "+url
process=os.popen(command)
results=str(process.read())
marker=results.find('has address')+12
print results[marker:].splitlines()[0]
return results[marker:].splitlines()[0]
Но это показывает только первый IP. Я хотел бы показать только IP-адреса. Маркер не имеет «адреса», как показано ниже (представьте, что я ввел «reddit.com»:
['151.101.65.140', 'reddit.com has address 151.101.129.140', 'reddit.com has address 151.101.193.140', 'reddit.com has address 151.101.1.140', 'reddit.com mail is handled by 1 aspmx.l.google.com.', 'reddit.com mail is handled by 10 aspmx2.googlemail.com.', 'reddit.com mail is handled by 10 aspmx3.googlemail.com.', 'reddit.com mail is handled by 5 alt1.aspmx.l.google.com.', 'reddit.com mail is handled by 5 alt2.aspmx.l.google.com.']
Я хочу показать только ips, а не reddit.com has address
и не один раз конец ip, mail is handled
и т. Д.
Я пытался с
def get_ip_address(url):
command="host "+url
process=os.popen(command)
results=str(process.read())
marker=results.find('has address')+12
i=0
arrayIps=[]
while "has address" in results[marker:].splitlines()[i]:
print results[marker:].splitlines()[i]
arrayIps.append(results[marker:].splitlines()[i])
print("array")
print arrayIps[i]
i=i+1
return arrayIps
Но это не работает! Даже не вернул ничего полезного!
Я ожидаю массив с (в данном случае):
'151.101.65.140', '151.101.129.140', '151.101.193.140', '151.101.1.140'