<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>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. <br><br>    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*)) <br>    {<br>    <br>        ofs = 20;    // Set theoffset to skip over the IP header.<br>            <br>        {    <br>                struct iphdr *ip_header = (struct iphdr *)skb_network_header(skb);    <br>                struct udphdr *udp_header;    <br>                struct tcphdr * tcp_header;<br>            <br>            //Ican obtain the destination IP address of the packet <br>            //like this<br>            unsigned int dest_ip = (unsigned int)ip_header->daddr;<br>                <br>            //or like this            <br>            char pkt_tbuf[16];            <br>            snprintf(pkt_tbuf, 16, "%pI4", &ip_header->daddr);<br><br>            //here I need to obtain the domain name of the obtained destination address<br>        }<br>    }<br><br>However, I have no idea on how to use that IP to obtain the domain name of the obtained IP. <br><br>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 :) <br><br>Thank you very much :)<br>                                               </div></body>
</html>