- 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
편집자 Jmnote Ykhwong Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.