C, hálózat, reverse dns, gethostbyaddr h_aliases üres

Fórumok

Kérdés: Miért nincs egy darab alias sem, amikor 'dig -x' -szel van.


#include <stdio.h>
#include <netdb.h>
#include <arpa/inet.h>

int main(int argc, char *argv[]) {
        struct hostent *hent;
        struct in_addr addr;
        char **aliases;

        if (argc < 2) return 1;
        if (!inet_aton(argv[1], &addr)) return 2;
        if ((hent = gethostbyaddr((char *)&(addr.s_addr), sizeof(addr.s_addr), AF_INET)) == NULL) return 3;
        endhostent();

        printf("Host: %s\n", hent->h_name);

        if (hent->h_aliases != NULL) {
                printf("listing aliases:\n");
                for (aliases = hent->h_aliases; *aliases != NULL; aliases++) {
                        printf("  - %s\n", *aliases);
                }
        }

        return 0;
}

Hozzászólások

Nem lehet véletlenül, hogy IPv6-os címmel próbálod?

Copy&paste után gcc-vel fordítva nekem megy. Nem programhiba, ha ez segít.

Belső háló:
root@OFFICESRV:~# ./rdns nnn.nnn.nnn.nnn
Host: OFFICESRV.OFC
listing aliases:
- OFFICESRV

Külső háló:
root@OFFICESRV:~# ./rdns 217.20.130.97
Host: totalcar.hu
listing aliases:
root@OFFICESRV:~#

ugye a gethostbyaddr IP -ből veszi ki a hostnevet, namost PTR -nek mikor szoktak aliast definiálni?
mármint, IP -nek ugye van egy PTR -je, és itt én az EGY-et kiemelném....

van olyan IP -re példád, ami több host ra mutat? ( he?:)))