Linux Kernel Module program to obtain domain name from IP

Hettiarachchige Hasitha Shan hh_shan at live.com
Tue Jul 8 06:26:23 EDT 2014


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 :)
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140708/e089f719/attachment-0001.html 


More information about the Kernelnewbies mailing list