How to do it...

You can lazily write a Python script that calls the system ping command-line tool, as follows:

import subprocess 
import shlex 
 
command_line = "ping -c 1 www.google.com" 
args = shlex.split(command_line) 
try: 
      subprocess.check_call(args,stdout=subprocess.PIPE,\ 
stderr=subprocess.PIPE) 
    print ("Google web server is up!") 
except subprocess.CalledProcessError: 
    print ("Failed to get ping.") 

However, in many circumstances, the system's ping executable may not be available or may be inaccessible. In this case, we need a pure Python script to do that ping. Note that this script needs to be run as a superuser or administrator.

Listing 3.2 shows the ICMP ping, as follows:

 #!/usr/bin/env python # Python Network Programming Cookbook -- ...

Get Python Network Programming Cookbook - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.