Il Forum di Orebla.it

Benvenuto nella community di Orebla.it
Oggi è dom 16 feb, 2020 8:10 pm

Tutti gli orari sono UTC + 1 ora




Apri un nuovo argomento Rispondi all’argomento  [ 1 messaggio ] 
Autore Messaggio
 Oggetto del messaggio: [Perl / C] Ip2Host
Messaggio da leggereInviato: sab 02 giu, 2007 2:39 pm 
Non connesso
super-guru
super-guru
Avatar utente

Iscritto il: mar 28 dic, 2004 6:54 pm
Messaggi: 300
Località: Pisa
Oggi avendo poco da fare ho rispolverato dalla mia directory dedicata alla programmazione uno scriptino che ho fatto in Perl tempo fa per conoscere l'hostname di una macchina a partire dal suo IP, sperando che possa tornare utile a qualcuno:

Codice:
#!/usr/bin/perl

$args=$#ARGV+1;

if ($args<1)  {
        print "Usage: perl ip2host.pl <ip>\n";
        die();
}

$ip=$ARGV[0];

@numbers=split(/\./, $ip);
$ip_number=pack("C4", @numbers);
$name = (gethostbyaddr($ip_number, 2))[0];

if ($name)  {
        print "Nome associato all'IP $ip: $name\n";
} else  {
        print "Nessun nome associato all'IP $ip\n";
}


Ne ho fatta anche una in C, per chi non avesse l'interprete Perl:

Codice:
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netdb.h>

extern int h_errno;

main(int argc, char **argv)  {
        int i,N;
        int var1,var2,var3,var4;
        int addr;
        struct hostent *remote_host;

        if (argc<2)  {
                printf ("Uso: %s <addr1> ... <addrn>\n", argv[0]);
                exit(1);
        }

        N=argc-1;

        for (i=0; i<N; i++)  {
                if (sscanf(argv[i+1],"%d.%d.%d.%d", &var1, &var2, &var3, &var4) != 4)  {
                        printf ("Attenzione: %s non è un indirizzo IPv4 valido\n", argv[i+1]);
                        exit(2);
                }

                addr = (int) inet_addr(argv[i+1]);
                remote_host = gethostbyaddr((char*) &addr, 4, AF_INET);

                printf ("Nome corrispondente all'indirizzo IPv4 %s: %s\n",
                                argv[i+1], remote_host->h_name);
        }

        exit(0);
}


Nulla di che di complesso, ma questo codice mi è tornato utile molte volte.

_________________
Immagine
Immagine


Top
 Profilo  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 1 messaggio ] 

Tutti gli orari sono UTC + 1 ora


{ RELATED_TOPICS }
 Argomenti   Autore   Risposte   Visite    Ultimo messaggio 
Non ci sono nuovi messaggi in questo argomento. [Perl] Telnet bruter

BlackLight

2

2275

dom 17 feb, 2008 9:02 pm

BlackLight Vedi ultimi messaggi

Non ci sono nuovi messaggi in questo argomento. [Perl] Algoritmo per il calcolo approssimato di PI GRECO

BlackLight

7

2961

mer 05 set, 2007 3:51 pm

BlackLight Vedi ultimi messaggi

 


Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduzione Italiana phpBBItalia.net basata su phpBB.it 2010
phpBB SEO