Я не уверен, что было в состоянии, когда исходный вопрос был задан еще в 2012 году.
Как сейчас, ping будет выполняться как корень. Через авторизацию ping исполняемого файла вы увидите флаг + s, а процесс, принадлежащий root, означает, что он будет запущен с правами root. запустите ls -liat, где находится ping, и вы увидите его.
Итак, если вы запустите InetAddress.getByName («www.google.com»). isReacheable (5000) как root, он должен return true.
вам нужны правильные авторизации для raw-сокета, который используется ICMP (протокол, используемый ping)
InetAddress.getByName так же надежен, как и ping, но вам нужно правильные разрешения на процесс, чтобы он работал правильно.
В промежуточном программном обеспечении вы должны использовать этот способ «req.headers.origin»
app.use(function(req, res, next) {
//var origin=req.headers.origin
next();
});