Amjad
Amjad

Reputation: 29

ping through linux and get output in python

I'm trying to create small script that provide whois and external ip and ping a site to find its statue. my code is running fine except for the ping part. It's pinging but not for the limit of 3 I asked for. I'm trying to run it in ubuntu server any suggestions?

import os

os.system("clear") # clear the screen

inp = input("Enter your choice from the menu: \n1) To find your external IP address\n2) To check domain name whois information\n3) To check if the website or ip address is up\n")

if (inp == "1"):
 print("Your external ip address is: ") # me trying to be smart XD
 ip = os.system("dig +short myip.opendns.com @resolver1.opendns.com")
 #print("Your external ip address is: %d" % ip)

elif (inp == "2"):

 domain = input("Enter the domain you want to whois it: \n")

 info = os.system("whois %s" % domain)
 print(info)

elif (inp == "3"):
 target = input("Enter the url or ip address you want to check:\n")

 for x in range(3):
     response = os.system("ping %s" % target)

 if (response == 1): # how can I decide based on response result ?
     print("%s is up" % target)
 else:
     print("%s is down" % target)

Upvotes: 1

Views: 1990

Answers (1)

l'L'l
l'L'l

Reputation: 47169

Try adding the count -c option to your command:

target = "stackoverflow.com"
response = os.system("ping %s -c 3" % target)

if response is not 0:
    print("failed")
else:
    print("success")

You can do away with the loop also...

Upvotes: 1

Related Questions