파이썬 핑
-
subprocess.call()
메소드를 사용하여 Python에서 서버 핑 -
os.system()
메소드를 사용하여 Python에서 서버 핑 -
ping3.ping()
함수를 사용하는 Python의 Ping 서버
이 튜토리얼은 Python에서 ICMP (Internet Control Message Protocol)를 사용하여 서버를 ping하는 다양한 방법을 설명합니다. Ping은 인터넷 프로토콜에서 특정 서버를 사용할 수 있는지 여부를 확인하는 데 사용됩니다. 메시지가 대상 (서버)에 도달하고 서버 응답이 소스에 도달하는 데 걸리는 시간을 측정합니다.
subprocess.call()
메소드를 사용하여 Python에서 서버 핑
subprocess.call(command)
메소드는command
를 입력으로 받아 실행합니다. 명령이 성공적으로 실행되면0
을 반환합니다.
서버를 ping하는 명령은 Unix의 경우ping -c 1 host_address
, Windows의 경우ping -n 1 host_address
입니다. 여기서1
은 패킷 수이고host_address
는 ping하려는 서버 주소입니다.
먼저platform.system()
메소드를 사용하여 머신의 OS를 확인한 다음 그에 따라 명령을 실행할 수 있습니다. 아래 예제 코드는subprocess.call()
메소드를 사용하여 Python에서 서버를 ping하는 명령을 실행하는 방법을 보여줍니다.
import platform
import subprocess
def myping(host):
parameter = "-n" if platform.system().lower() == "windows" else "-c"
command = ["ping", parameter, "1", host]
response = subprocess.call(command)
if response == 0:
return True
else:
return False
print(myping("www.google.com"))
os.system()
메소드를 사용하여 Python에서 서버 핑
os.system(command)
메소드는command
(문자열)를 입력으로 받아서 서브 쉘에서 실행합니다. 명령이 오류없이 실행되면 메서드는0
을 반환합니다.
다음과 같은 방법으로os.system()
메소드를 사용하여 ping 서버 명령을 실행할 수 있습니다.
import os
def myping(host):
response = os.system("ping -c 1 " + host)
if response == 0:
return True
else:
return False
print(myping("www.google.com"))
ping3.ping()
함수를 사용하는 Python의 Ping 서버
ping3
모듈의ping(addr)
함수는 서버 주소를 입력으로 사용하고 서버가 사용 가능하면 ping 시간을 출력으로 반환하고 사용할 수없는 경우False
를 반환합니다.
root
권한으로ping3
모듈을 설치할 수 있습니다.
pip install ping3
서버 주소를ping()
메소드에 전달하여 서버를 ping 할 수 있습니다.
from ping3 import ping
def myping(host):
resp = ping(host)
if resp == False:
return False
else:
return True
print(myping("www.google.com"))