There's a research project called Name Based Sockets where this have been done.
Take a look at: https://www.sics.se/projects/name-based-sockets If you search for name based sockets on Google you will find a kernel module and user space code doing this. On 8 Jul 2014 15:07, "Kristof Provost" <kris...@sigsegv.be> wrote: > On 2014-07-08 20:19:09 (+0800), shhuiw <shh...@163.com> wrote: > > DNS loopkup should use UDP packet, and you have to construct UDP request > > based on your captured IP addresses in your module. > DNS can actually use both TCP and UDP. > > > And you have to use DNS server fallback lists and time-out control if > some DNS > > server cannot work well. > > Yeah. Doing DNS lookups (forward or reverse) is complicated. > There's a dns_query function in the kernel (net/dns_resolver), which > apparently upcalls into user space, but I'd avoid dealing with DNS in > the kernel at all. > > Just pass the IP address to user space and let it deal with it. There > are plenty of DNS libraries available. Odds are you need to pass the > resulting information to user space anyway, so you're not really losing > anything. > > What are you trying to accomplish anyway? > > Regards, > Kristof > > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies@kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies >
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies