尝试ping服务器时的TtlExpired状态

本文关键字:TtlExpired 状态 ping 服务器 尝试 | 更新日期: 2023-09-27 18:29:03

我使用以下代码来检查服务器是否可用

bool isReachable = false;
        Ping pinger = new Ping();
        try
        {
            PingOptions opt = new PingOptions(255, false);
            PingReply reply = pinger.Send("www.stackoverflow.com", 1000, new byte[32], opt);
            isReachable = reply.Status == IPStatus.Success;
        }
        catch (PingException)
        {
            // Discard PingExceptions and return false;
        }

我没有从服务器获得成功状态,而是获得System.Net.NetworkInformation.IPStatus.TtlExpired.

我尝试了不同的主机,如www.google.com、www.wikipedia.org,但没有从服务器获得成功状态。我能够在命令提示符中进行ping而没有任何问题

我尝试了没有ttl选项,但只有相同的响应。

PingReply reply = pinger.Send("www.stackoverflow.com");
isReachable = reply.Status == IPStatus.Success;

尝试ping服务器时的TtlExpired状态

            PingReply reply = pinger.Send("www.google.com/");

应该是

            PingReply reply = pinger.Send("www.google.com");