Se você tem uma lista, você pode fazer isso facilmente em qualquer sistema operacional usando Python embutido no módulo socket
.
import socket
socket.gethostbyaddr('198.252.206.16')
Isso retorna:
('stackoverflow.com', ['16.206.252.198.in-addr.arpa'], ['198.252.206.16'])
Então, scriptifything que não seria difícil, basta ter um ip por linha em um arquivo e fazer algo como:
import socket
fi = open('iplist.txt')
for line in fi.readlines():
print( socket.gethostbyaddr( line )[0] )
fi.close()
Claro, você pode ajustar a saída para gravar o IP e o nome do domínio em outro arquivo, se assim desejar.
No entanto, como aponta o @ScottChamberlain - isso nem sempre pode resolver para sites que compartilham um IP (subdomínios e outros incluídos).