Linux Kernel Module program to obtain domain name from IP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have a requirement to obtain the domain name from the destination IP from an outgoing packet. I am successful in capturing and obtaining the destination IP  packets using the `netfilter` hook as shown below.

    unsigned int hook_func_out(unsigned int hooknum, struct sk_buff * skb, const struct net_device *in, const struct net_device *out, int (*okfn)(struct sk_buff*))
    {
    
        ofs = 20;    // Set theoffset to skip over the IP header.
            
        {    
                struct iphdr *ip_header = (struct iphdr *)skb_network_header(skb);    
                struct udphdr *udp_header;    
                struct tcphdr * tcp_header;
            
            //Ican obtain the destination IP address of the packet
            //like this
            unsigned int dest_ip = (unsigned int)ip_header->daddr;
                
            //or like this            
            char pkt_tbuf[16];            
            snprintf(pkt_tbuf, 16, "%pI4", &ip_header->daddr);

            //here I need to obtain the domain name of the obtained destination address
        }
    }

However, I have no idea on how to use that IP to obtain the domain name of the obtained IP.

I tried many sources (https://www.google.com/search?client=ubuntu&channel=fs&q=linux+kernel+programming+domain+name+from+IP+&ie=utf-8&oe=utf-8) but did find any related information on the subject and will be really grateful if you experts would provide any sample code/ references to perform this task :)

Thank you very much :)
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux