/ / Ako získať hodnotu ttl v pypingu python - python, python-2.7

Ako získať hodnotu ttl v pyping python - python, python - 2.7

Nižšie uvedený program sa vytlačí len vtedy, ak je server spustený nahor alebo nadol pyping, ale musím vytlačiť výstup s hodnotou TTL (time to live).

import pyping
servers = (
"192.168.1.1",
"192.168.1.2",
"192.168.1.3"
)

temp = []

for server in servers:
checker = pyping.ping(server)
if checker.ret_code == 0:
body = "%s Server is UP" % (server)
temp.append(body)
else:
body = "%s Server is Down" % (server)
temp.append(body)

print(temp)

Chlapci, ak máte nejaké ďalšie nápady, ako získať hodnotu ttl láskavo post it ..

odpovede:

0 pre odpoveď č. 1

používať Popen z vlákno modul

môžeš použiť returncode úspechu velenia if >0 potom nie je úspech

import subprocess
import re
p = subprocess.Popen(["ping","www.google.com"], stdout=subprocess.PIPE)
res=p.communicate()[0]
if p.returncode > 0:
print("server error")
else:
pattern = re.compile("TTL=d*")
print(pattern.search(str(res)).group())
TTL=56

na Linuxe prejsť ďalšie -c spolu s príkazom, aby sa zabránilo nekonečnému ping