¿Cómo realizo una búsqueda DNS inversa, así es como puedo resolver una dirección IP con su nombre de host DNS en Perl?Buscar DNS inversa en Perl
Respuesta
gethostbyaddr y llamadas similares. Ver http://perldoc.perl.org/functions/gethostbyaddr.html
Puede haber una manera más fácil, pero para IPv4, si puede realizar búsquedas DNS normales, siempre puede construir la consulta inversa usted mismo. Para la dirección IPv4 A.B.C.D, busque cualquier registro PTR en D.C.B.A.in-addr.arpa. Para IPv6, tomas los 128 bits hexadecimales y los volteas y anexas ipv6.arpa. y haz lo mismo
Si gethostbyaddr no se ajusta a sus necesidades, Net::DNS es más flexible.
use Socket;
$iaddr = inet_aton("127.0.0.1"); # or whatever address
$name = gethostbyaddr($iaddr, AF_INET);
Si necesita información más detallada DNS utilizan el módulo Net::DNS, aquí es un ejemplo:
use Net::DNS;
my $res = Net::DNS::Resolver->new;
# create the reverse lookup DNS name (note that the octets in the IP address need to be reversed).
my $IP = "209.85.173.103";
my $target_IP = join('.', reverse split(/\./, $IP)).".in-addr.arpa";
my $query = $res->query("$target_IP", "PTR");
if ($query) {
foreach my $rr ($query->answer) {
next unless $rr->type eq "PTR";
print $rr->rdatastr, "\n";
}
} else {
warn "query failed: ", $res->errorstring, "\n";
}
fuente original EliteHackers.info, más detalles allí también.
Esto podría ser útil ...
$ip = "XXX.XXX.XXX.XXX" # IPV4 address.
my @numbers = split (/\./, $ip);
if (scalar(@numbers) != 4)
{
print "$ip is not a valid IP address.\n";
next;
}
my $ip_addr = pack("C4", @numbers);
# First element of the array returned by gethostbyaddr is host name.
my ($name) = (gethostbyaddr($ip_addr, 2))[0];
de una sola línea:
perl -MSocket -E 'say scalar gethostbyaddr(inet_aton("79.81.152.79"), AF_INET)'
perl -MSocket -E 'say scalar gethostbyaddr(inet_aton("69.89.27.250"), AF_INET)'
Devuelve: No encontraste fin de cadena "'" en cualquier lugar antes de EF en -e línea 1.
perl -MSocket -E "say scalar gethostbyaddr(inet_aton(\"69.89.27.250\"), AF_INET)"
Devuelve: box250.bluehost.com
tengo que cambiar la línea a utilizar comillas dobles y luego escapar por las comillas alrededor de la dirección IP
- 1. Cómo deshabilitar la búsqueda DNS DNS inversa de Java
- 2. No se puede hacer la búsqueda DNS inversa en Android
- 3. Necesito realizar una búsqueda DNS inversa de una dirección IP particular en java
- 4. Búsqueda en C++ inversa
- 5. Servidor DNS muy simple
- 6. Búsqueda DNS del servidor DNS personalizado en C#
- 7. Consultar DNS usando servidores DNS específicos en .NET
- 8. Cómo resolver DNS en Python?
- 9. herencia SSL en DNS CNAME
- 10. Bonjour/DNS-SD en Windows
- 11. cómo usar "buscar" para buscar "_id => OBjectID (" id ")" en Perl API
- 12. DNS Gurus: ¿Cómo reenviar www.domain.com a domain.com utilizando solo DNS?
- 13. DNS- ¿Enruta el DNS para la subcarpeta a otro servidor?
- 14. Comprender el MECHNISM búsqueda DNS
- 15. función inversa en Scala
- 16. objeto inversa en jQuery.each
- 17. Cadena inversa en Python
- 18. Subdominios y DNS
- 19. Android: Flush DNS
- 20. Java DNS cache viewer
- 21. Ingeniería inversa una secuencia de comandos Perl basada en un volcado del núcleo
- 22. Ingeniería inversa?
- 23. ¿Cómo seleccionar_related en la clave foránea inversa?
- 24. Perl buscar y reemplazar la última ocurrencia de caracteres
- 25. Cómo realizar una consulta DNS en iOS
- 26. Almacenamiento en caché de DNS usando getaddrinfo
- 27. Desarrollar un servidor DNS básico (en C#)
- 28. Configuración de DNS en un VPS
- 29. Obtener un registro TXT DNS en Ruby
- 30. inversa de aplastar en Mathematica?
Eso es probablemente porque usted está utilizando cmd.exe en Windows . – spacebat