Desde windows...
Así pensándolo en un momento, tienes varias opciones:
La opción guarra (Compilarte tu propio programa, que llama al sistema para que haga ping):
esta es un ejemplo que encontré por ahí de lo comentado arriba PERO está en c++:
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
static string host;
static string ping_again;
void ping()
{
system("cls");
cout << "Host: ";
cin >> host;
system (("ping " + host).c_str());
cout << endl;
cout << "(Y)es or (N)o\n\n";
cout << "Ping another host: ";
cin >> ping_again;
if (ping_again == "Y" || ping_again == "y")
{
system("cls");
ping();
}
else if (ping_again == "N" || ping_again == "n")
{
system("exit");
}
}
int main()
{
SetConsoleTitle("Ping in C++ by TotcoS");
ping();
return(0);
}
Créditos:
http://p2p.wrox.com/c-programming/25941-ping-c.html#post201963La otra, sería usar sockets, y si fallas al establecer la conexión, es que el host no está disponible.
http://msdn.microsoft.com/en-us/library/ms740673(v=vs.85).aspx