Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Net::Dns::packet creation.

by andal (Hermit)
on May 26, 2014 at 13:52 UTC ( #1087438=note: print w/replies, xml ) Need Help??


in reply to Net::Dns::packet creation.

Try to read 'perldoc -f gethostbyname'. Basically, using that function you can get address suitable for use with 'connect' or 'bind' functions.

Module Socket also offers functions inet_ntoa and inet_aton that can be used to convert between packed and unpacked IP addresses.

Normally, module IO::Socket::INET takes care of this for you. So I don't remember when I've used these functions last time.

Just for general education. On the low level, networking requires "packed" addresses. The format of these addresses depends on the type of the network. Normally people work with IPv4 networks. The addresses on these networks are represented by 4 numbers from 0 to 255. Unpacked form of these addresses is written as 4 numbers joined by dot (10.30.96.10). One has to use some function to convert from "unpacked" form to "packed" one. To make things more complex (but easier to remember) people have introduced names that are associated with numbers. Those are referred as "domain-names". There's a service that maps names to IP addresses. There are special system functions for accessing that service. The service returns "packed" addresses.

Of course, if you have string '10.30.96.10', then you don't have to access DNS to obtain packed address. Function Socket::inet_aton can pack it for you. In this case, DNS can be contacted to obtain domains that are associated with this address (reverse lookup).

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1087438]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2022-12-05 08:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?