함수 is ping()

Jmnote (토론 | 기여)님의 2013년 12월 3일 (화) 23:10 판 (새 문서: *test set :2.2.2.2 → false :8.8.8.8 → true :naver.com → false :yahoo.com → true Category: Network ==Bash== <source lang='bash'> PING_TIMEOUT=2 PING_HOST=8.8.8.8 IS_PING...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
  • test set
2.2.2.2 → false
8.8.8.8 → true
naver.com → false
yahoo.com → true

1 Bash

Bash
Copy
PING_TIMEOUT=2
PING_HOST=8.8.8.8
IS_PING=`ping -c1 -W$PING_TIMEOUT $PING_HOST | grep received | awk '{print $4}'`
echo $IS_PING
# 1

2 C#

C#
Copy
public bool is_ping(string host) {
	try {
		int timeout = 120;
		Ping pingSender = new Ping();
		PingOptions options = new PingOptions();
		options.DontFragment = true;
		string data = "Ping_ABCDEFGHIJKLMNOP1234567890";
		byte[] buffer = Encoding.ASCII.GetBytes(data);
		PingReply reply = pingSender.Send(host, timeout, buffer, options);
		if (reply.Status == IPStatus.Success) return true;
		return false;
	}
	catch (Exception) {
		return false;
	}
}

3 PHP

  • Linux
PHP
Copy
function is_ping($host, $timeout = 2) {
	return exec("ping -c1 -W$timeout $host | grep received | awk '{print $4}'");
}

4 PowerShell

powershell
Copy
$pinghost="8.8.8.8"
echo (!(get-wmiobject win32_pingstatus -Filter "Address='$pinghost'").statuscode)
# True
powershell
Copy
$pinghost="8.8.8.9"
echo (!(get-wmiobject win32_pingstatus -Filter "Address='$pinghost'").statuscode)
# False
powershell
Copy
Function is_ping([string] $pinghost) {
	return (!(get-wmiobject win32_pingstatus -Filter "Address='$pinghost'").statuscode)
}
$result = is_ping('8.8.8.8')
echo $result
# True
$result = is_ping('8.8.8.9')
echo $result
# False

5 See also