Book Image

Learning Python Network Programming

By : Dr. M. O. Faruque Sarker, Samuel B Washington, Sam Washington
Book Image

Learning Python Network Programming

By: Dr. M. O. Faruque Sarker, Samuel B Washington, Sam Washington

Overview of this book

Table of Contents (17 chapters)
Learning Python Network Programming
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Retrieving the network configuration of a local machine


Before doing anything else, let's ask in the Python language, What's my name?. In networking terms, this is equivalent to finding out the machine's name or the host's name. On the shell command-line, this can be discovered by using the hostname command. In Python, you can do this by using the socket module.

>>> import socket
>>> socket.gethostname()
'debian6box.localdomain.loc'

Now, we would like to see the local machine IP. This can be seen by using the ifconfig command in Linux and by using the ipconfig command in the Windows OS. But, we'd like to do this in Python by using the following built-in function:

>>> socket.gethostbyname('debian6box.localdomain.loc')
'10.0.2.15'

As you can see, this is the IP of the first network interface. It can also show us the IP of the loopback interface (127.0.0.1) if your DNS or hostfile has not been configured properly. In Linux/UNIX, the following line can be added to...